Update data for Chrome 50/Windows with new criteria
Closed this issue · 12 comments
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 attributeplaceholder:<value>
. It includes placeholder in name/desc (below) and asvalue
(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.
role name is figcaption, but should be caption per spec. Change spec?
exposed as caption role in IA2
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