Skip to content

Confirmation of Action: (ariaNotify) general feedback for consideration #187

@travisleithead

Description

@travisleithead

The following is re-posted with permission from @aleventhal:

I had some thoughts about ariaNotify based on my previous experience in helping to create the properties used by ARIA live regions.

  • Importance: first, the ARIA WG did not want to use an "important" indicator, because it was felt that developers would not know when to use it (or importantly not use it), e.g. developers would always feel that their content was important. We wanted to have something that was more descriptive of what would happen, and ended up on polite/assertive. I'm not saying that we got consistent implementation of polite/assertive in ATs, however.
    I think that what we actually wanted was to:

    • indicate whether the message should interrupt other messages and be fired immediately, or whether it should wait until other messages have completed. A third type, which I think may actually be most common, would be to fold the message into the stream at the point right after an action occurred, not interrupting anything.
      • Another thing about the "fold into speech stream" that may be interesting food for thought. At one point (may still be true), Firefox computed an attribute that it exposed when an a11y tree changed, and the change was from a user input event. The idea was that if something could be spoken as part of the stream that occurs when you perform an input, that it's much less jarring (as opposed to random stuff changing based on a timer). Example: the user navigates in a tree view, and another pane updates a help topic. The screen reader could have a heuristic that decides whether to read part of the new help topic after it reads the new tree view item. Because it's part of what you did, I thought it would be helpful to hear it. The user can always interrupt it with the next input event. The opposite might be changes that occur randomly, e.g. from a timer, or say in a collaborative interface where another user changed something.
    • indicate whether the message itself can be interrupted. Some messages are so critical, that if the user does not hear the message, they might miss something absolutely vital. This could obviously be abused, so some thought needs to go into it.
      I had some more thoughts here, but it didn't have the idea of "fold into the speech stream" order.
  • Earcons. I wonder if it makes sense to try to come up with a semantic list of earcons and let the AT interpret them, and optionally present them with the message, e.g. "bad-entry" might sounds like a bzzt.

  • The name of the API. I wonder if it makes sense to use "aria" in the name. I kind of like it, but I wonder if others will feel that it's a naming collision.

(Thanks for the feedback @aleventhal!)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions