Closed Bug 888256 Opened 11 years ago Closed 11 years ago

[AccessFu] Speak landmarks

Categories

(Core :: Disability Access APIs, defect)

All
Android
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla25

People

(Reporter: MarcoZ, Assigned: yzen)

References

Details

Attachments

(1 file, 2 obsolete files)

Landmarks are a newer accessibility feature of HTML. They are defined by either using role="<landmark_role>" or by using the HTML5 equivalent element. <landmark_role> is one of banner, complementary, contentinfo, main, and navigation. the landmark info is saved in the xml-roles object attribute. It may be on its own, or coupled with other roles, since the ARIA role attribute can have more than one value at one given time. So the search is a "contains", not an "is".

To implement,

a) When traversing from element to element, if the accessible or one of its parents has a landmark attribute, and that differs from the previous, speak a phrase like "in banner" or "in main". Note that other screen readers also speak the landmark that was just exited again, so that you hear something like "exiting banner, entering main", but I think that is too excessive. Stop at the first landmark found, I don't think supporting nested landmarks is necessary.

b) Add the ability to use quick navigation gestures to select landmark as a type, and also add a key to go to the next or previous landmark. NVDA uses the letter d, JAWS uses the semicolon. I think sticking with d as the NVDA equivalent is a good idea.

c) In braille, just put the word of the actual landmark, no abbreviation or full role or other word like "in".

d) Add utterance and braille tests to make sure they are accounted for.

An example of landmark tests for the API can be found here: http://mxr.mozilla.org/mozilla-central/source/accessible/tests/mochitest/attributes/test_xml-roles.html?force=1
Assignee: nobody → yura.zenevich
Attached patch Patch for 888256 v1. (obsolete) — Splinter Review
Just a WIP to get some feedback, tests are still to come.

Marco, I was not 100% certain how the correct output for braille should look like in cases when we also add a '*' or an accessible's previous sibling name to the beginning of the braille output.
Attachment #771615 - Flags: feedback?(marco.zehe)
Attachment #771615 - Flags: feedback?(eitan)
Comment on attachment 771615 [details] [diff] [review]
Patch for 888256 v1.

Review of attachment 771615 [details] [diff] [review]:
-----------------------------------------------------------------

This looks good.

::: accessible/src/jsat/OutputGenerator.jsm
@@ +164,4 @@
>      }
>  
>      if (name) {
> +      let outputOrder = typeof gUtteranceOrder.value === 'number' ?

Not entirely necessary/relevant, but I could see how this helps with consistency.

@@ +183,5 @@
> +      return;
> +    }
> +
> +    let outputOrder = typeof gUtteranceOrder.value === 'number' ?
> +      gUtteranceOrder.value : this.defaultOutputOrder;

Instead of doing this again and again, why not have in the global scope:

function outputOrder() {
  return typeof gUtteranceOrder.value === 'number' ?
		gUtteranceOrder.value : this.defaultOutputOrder;
}
Attachment #771615 - Flags: feedback?(eitan) → feedback+
Comment on attachment 771615 [details] [diff] [review]
Patch for 888256 v1.

Review of attachment 771615 [details] [diff] [review]:
-----------------------------------------------------------------

::: accessible/src/jsat/Utils.jsm
@@ +203,2 @@
>  
> +    if (!this._attributes) {

Need to get rid of caching.
Comment on attachment 771615 [details] [diff] [review]
Patch for 888256 v1.

f=me with the changes we discussed f2f w.r.t form and application, removal of "in " etc.
Attachment #771615 - Flags: feedback?(marco.zehe) → feedback+
Attached patch Patch for 888256 v2. (obsolete) — Splinter Review
Attachment #771615 - Attachment is obsolete: true
Attachment #772351 - Flags: review?(marco.zehe)
Attachment #772351 - Flags: review?(eitan)
Comment on attachment 772351 [details] [diff] [review]
Patch for 888256 v2.

r=me with one nit: Can you correct all instances of "an section" to read "a section", reads funny otherwise. ;-)
Attachment #772351 - Flags: review?(marco.zehe) → review+
Attachment #772351 - Attachment is obsolete: true
Attachment #772351 - Flags: review?(eitan)
Attachment #772700 - Flags: review?(eitan)
Comment on attachment 772700 [details] [diff] [review]
Adding support for speaking landmarks. r=eeejay, marcoz

Review of attachment 772700 [details] [diff] [review]:
-----------------------------------------------------------------

This looks good. Just a XXX comment near the brailled list item, like we said.
Attachment #772700 - Flags: review?(eitan) → review+
Flags: in-testsuite+
https://hg.mozilla.org/mozilla-central/rev/24c5584de220
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla25
Depends on: 892491
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: