stevefaulkner/HTML5accessibility

Update data for Chrome 50/Windows with new criteria

Closed this issue · 12 comments

Update data for Chrome 50/Windows with new criteria

Group/Sectioning

Article:

Accessibly supported: Yes
Implemented: Yes
Mapped: Yes
Name/Desc: Yes

Section:

Accessibly Supported: Yes
Implemented: Yes
Mapped: Yes
Name/Desc: Yes

Navigation:

Accessibly supported: Yes
Implemented: Yes
Mapped: Yes
Name/Desc: Yes

Aside:

Accessibly supported: Yes
Implemented: Yes
Mapped: Yes
Name/Desc: Yes

Header:

Accessibly supported: Partial
Implemented: Yes
Mapped: Partial*
Name/Desc: Yes

  • header that sectioning is not body doesn't appear in tree

Footer:

Accessibly supported: Yes
Implemented: Yes
Mapped: Yes
Name/Desc: Yes

Figure:

Accessibly supported: Partial
Implemented: Yes
Mapped: Partial*
Name/Desc: Yes

  • lacks IA2_RELATION_LABELLED_BY

Figcaption:

Accessibly supported: partial
Implemented: Yes
Mapped: partial*

  • lacks IA2_RELATION_LABEL_FOR with parent figure element

Main:

Accessibly supported: Yes
Implemented: Yes
Mapped: Yes
Name/Desc: Yes

Text-level

Time

Accessibly supported: Yes
Implemented: Yes
Mapped: Yes
Name/Desc: Yes

Mark

Accessibly supported: Yes
Implemented: Yes
Mapped: Yes
Name/Desc: Yes

Graphics/Media

Canvas

Accessibly supported: Yes
Implemented: Yes.
ShowFocusIfNeeded: Yes
Mapped: Yes
SubDOM: Yes. Elements are in tree and chromevox reads out.

Audio

Accessibly supported: Partial
Implemented: Yes.
Mapped: No*?
Keyboard: Yes

  • Reports as ROLE_SYSTEM_CLIENT in chrome:accessibility and unknown in DevTools. Should be ROLE_SYSTEM_GROUPING

video

Accessibly supported: Partial
Implemented: Yes.
Mapped: No*
Keyboard: Yes

  • Reports as ROLE_SYSTEM_CLIENT in chrome:accessibility and unknown in DevTools. Should be ROLE_SYSTEM_GROUPING

Track

Accessibly supported: YesControls
Implemented: Yes
Subtitles: Yes (WebVTT only)

Controls

Search

Accessibly supported: Yes
Implemented: Yes
Mapped: Yes
Name/Desc: Yes

*Tel *

Accessibly supported: Yes
Implemented: Yes
Mapped: Yes
Name/Desc: Yes

*URL *

Accessibly supported: Partial
Implemented: Yes
Mapped: Yes
Name/Desc: Yes
Error state: No

*Email *

Accessibly supported: Partial
Implemented: Yes
Mapped: Yes
Name/Desc: Yes
Error state: No

Number

Accessibly supported: Partial
Implemented: Yes
Mapped: Yes
Name/Desc: Yes
Error: No
Keyboard: Yes

Range

Accessibly supported: Yes
Implemented: Yes
Mapped: Yes
Name/Desc: Yes
Keyboard; Yes

Color

Accessibly supported: Yes
Implemented: Yes
Mapped: Yes*
Name/Desc: Yes
Keyboard; Yes

  • for basic IA2 mapping it is yes by letter of spec, but perhaps mapping should be more descriptive like UIA to make it truly accessible: w3c/aria#363

Datalist

Accessibly supported: Partial
Implemented: Yes
Mapped: Partial*
Keyboard: Yes*

  • role is correct. States not mapped. Events not set
  • only opens with down arrow, not enter.

Output

Accessibly supported: Partial
Implemented: Yes
Mapped: Yes
Name/Desc: Partial*

  • Should it have name from contents? OP-001 does
    N: OP-005 has title as description instead of name

Progress

Accessibly supported: Yes
Implemented: Yes
Mapped: Yes
Name/Desc: Yes

Meter

Accessibly supported: Yes
Implemented: Yes
Mapped: Yes
Name/Desc: Yes

Details

Accessibly supported: Yes
Implemented: Yes
Mapped: Yes
Keyboard: Yes

Summary

Accessibly supported: Partial
Implemented: Yes
Mapped: Partial
Name/Desc: Partial

  • empty summary not in a11y tree. Giving naming partial for this too as it does'nt generate acc name as isn't in tree to get one.

Menu
N/A

Context

N/A

Menuitem

N/A

Dialog

Accessibly supported: Yes
Implemented: Yes
Mapped: Yes
Keyboard: Yes


Propertries

hidden:

Accessibly supported: Yes
Implemented: Yes
Mapped: Yes

required:

Accessibly supported: Partial
Implemented: Yes
Mapped: Yes
Error: No

Placeholder:

Accessibly supported: Partial
Mapped: No*
Name/Desc: Partial*

  • Say to map same as ARIA 1.1 aria-placeholder (doesn't look like this is supported by Chrome): object attribute placeholder:<value>. It includes placeholder in name/desc (below) and as value (a bug?) and ia2_hypertext, but there is no placeholder attribute
  • Fails test 006 (empty placeholder with aria-placeholder (latter should win)
    Dev Tools version of a11y tool gets confused in some tests, but is correct in chrome:accessibility

Will fill out for the date controls later and double check some things.

@dstorey

role name is figcaption, but should be caption per spec. Change spec?

exposed as caption role in IA2

@dstorey

Time
N/A

unclear why is showing as "not supported" in test file, but is defintely exposed correctly in IA2 object attributes.

@stevefaulkner Chrome doesn't claim to support text via however they test on http://html5test.com/compare/feature/elements-semantic-time.html either. But it is listed as supported since 33 here: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/time So I guess it is just not fully implemented somehow. Should probably be corrected to a Yes here.

For Mark, spec says:
Role: IA2_ROLE_TEXT_FRAME
Object attributes: xml-roles:mark
Styles used are mapped to text attributes on the accessible object.
Interfaces: IAccessibleText2; IAccessibleHypertext2;

This is all mapped except I don't see IAccessibleText2 or IA2_Text. Not sure if this is enough to downgrade to partial? It does have ia2_hypertext. I guess technically yes, unless the spec is wrong. Interestingly the previously linked bug is still open.

@stevefaulkner you're right about the figcaption role. I think figcaption was taken from the tag by accident when testing. However, I think it should be *partial for figcaption because "IA2_RELATION_LABEL_FOR with parent figure element" is not present. Unless it is listed somewhere other than in the entry in chrome:accessibility.

Similarly Figure lacks IA2_RELATION_LABELLED_BY with child figcaption element, so that should probably be partial for mapped, if I'm understanding correctly.

Date controls. In general needs more testing as have some of questions

date
Accessibly supported: Partial
Implemented: Yes
Mapped: Partial*
Name/Desc: Yes
Keyboard: Yes*

  • Technically it is mapped per spec, as IA2's spec only requires very minimal IA2_ROLE_DATE_EDITOR. Chrome additionally maps three spinners with names month, day, and year. It does not map the delete button or the up/down arrows (although there is an empty spin button, and two empty push buttons that I can't work out what they're for). I think the drop down button is mapped as ROLE_SYSTEM_BUTTONMENU, with HASPOPUP and default_action='open' but I don't see a name, unless one of those auto-magically gives it a name.
    The calendar widget is mapped (not sure if correct) but there is no ControllerFor/ControlledBy type attribute to link it to the input (not sure if this is needed).
    Edge14 for example maps all the parts of the popup control and maps clear buttons on controls that have them (the dates don't in Edge).
    There is also no localised name in the spec like UIA/Edge, so all these date controls are mapped identically in IA2 and Chrome.
    There is an open issue on the spec about mappings w3c/aria#364
  • I've given yes for keyboard, but not 100% sure this is correct. enter/space doesn't work to open popup, but the non-obvious alt+down arrow works (not sure if this is standard, but it isn't for selects, etc.) and you can not tab into the arrow (looks like it may work in Chrome 51 but we need to do new test run for that).
    Technically one can delete values by pressing backspace on one of the spin controls, but that just deletes that component. Mouse users can kick the X to delete the full thing, so the experiences are not on par. You can't access the arrows either, but I think this is more of a design decision (Edge is making all UI accessible by keyboard) for this one as up/down arrows on keyboard do the same things and isn't a hard thing to discover. So I'll leave it up to you if not being able to tab into the X or otherwise activate it is a partial fail.

datetime-local

Same as date. I can't get the calendar to show in the tree here. Needs more testing for all controls as sometimes I see it and sometimes can't so maybe just exposed for some of these date controls.

month

Same as date

week

Same as date

time

Accessibly supported: Partial
Implemented: Yes
Mapped: Partial*
Name/Desc: Yes
Keyboard: Yes*

  • Uses ROLE_SYSTEM_GROUPING but I can't find text-input-type:time
  • Keyboard is same as others except there is no drop down with calendar control, so could be partial due to lack of X.

I'm thinking the keyboard for the date controls should probably be partial, and consider upgrading to yes when we do new test run for Chrome 51, as it looks like they've added keyboard support to that very recently (is working on my surface book, isn't on my mac or on the windows browser stack chrome 51), but i'm leaning towards the clear button should be accessible to get full as it does provide functionality beyond what is available by pressing delete instead (have to clear clear each spinner separately vs clearing whole thing)

@stevefaulkner updated time to yes across the board, and figure/figcaption to partial based on the IA2_RELATION_LABEL_FOR / IA2_RELATION_LABELLED_BY being missing as mentioned above. I'll let you comment if this is correct, but I couldn't find them in chrome://accessibility output.

As far as I can tell, if I'm right with the partials, this is Chrome 50's score:

X = 100 / (40 - 3) = 2.7027
Total = 100 - (0 * 2.7027) - (17 * .5 * 2.7027) = 77.0271

I've made Output as full rather than partial as it seems like it was done on purpose that the accessible name for OP-005 is text contents rather than title (title is accDesc). Spec may be wrong here and there is a bug on it. If it turns out chrome is wrong then it would be 18 partials.

After testing Firefox, it agrees with the spec for title being accName rather than accDesc like Chrome does, so probably unless the spec changes, Chrome should be partial for Output. This would give 76%.

re header in section not exposed - bug filed https://bugs.chromium.org/p/chromium/issues/detail?id=628533