#156: Review ARIA in HTML specification (prior to CR transition)
Discussions
Comment by @dbaron Apr 28, 2017 (See Github)
One comment @travisleithead noticed, in our breakout session at the TAG meeting, is that the "Kind of content" column in the first table in 3. Allowed ARIA roles, states and properties said "(work in progress)", which didn't quite seem right for something that's about to go to CR. However, we then noticed that this column is no longer present in the Editor's Draft, and concluded that it made more sense to review the editor's draft.
Comment by @cynthia Apr 28, 2017 (See Github)
CC: @LJWatson, @stevefaulkner
Thanks you for submitting the review request. Apologies for taking so much time to look into this, hope this isn't too late for the deadline.
Pre-warning: This was reviewed by @travisleithead and me during Tokyo F2F, both not being the most literate about the dependency spec ARIA. There might be misunderstandings about what the original intention is - we did not have time to read the entire ARIA spec throughly before doing this review.
The first pass review comment list is a bit long, so we're providing it in bulletpoint format to make it a bit easier to follow.
- We think it would be better to remove
keygen
. This is a element that we have discussed in the past and decided to obsolete. input type=datetime
has not been well received, so we would like to suggest replacing that withdatetime-local
which has better implementation support.- Following item 2,
input type=datetime-local
should have probably be agrid
role, with each data component being maybe aspinbutton
? We aren't sure this would be the best option, since some of the input is text - but the behavior of the individual data fields behave closer to aspinbutton
in the implementations we have tested on, which is the rationale for this suggestion.input type="date"
,input type="month"
,input type="week"
, andinput type="time"
most likely fall under the same rule. a element without a href
should be a bit more specific. When this is used as a anchor (for page internal navigation, using the name property) this is probably something that should have alandmark
role.- The likelihood of SVG being a graphic component is probably higher than it being a
application
ordocument
from the user's perspective, so would it make sense to useimg
as the implicit role? img with alt=""
might be better suited under apresentation
role.meter
seems to match theprogressbar
role reasonably well, any reason why this was not chosen?input type=submit
has navigation behavior (although it depends on it being in aform
) - this seems inconsistent withbutton
element's role definition. Link might be needed as as potential role.- It seems like
input type=range
can also be aspinbutton
. - Are we okay with not having any roles
input type=password
for password andinput type=color
for color? Password seems like it will happen in ARIA 2.0 so the dependency stands. Also,input type=file
has no role, are we fine with this? hr role=separator
has the rolepresentation
. Should only be implicit seperator in the event it is focusable, as per ARIA definition?input type=range
could be a spintbutton too. It seems to qualify against the rules defined there, at least based on some quick testing.input type=hidden
is not covered by the hidden property entry at the bottom of the table, and should probably get aaria-hidden
.- Small nit: possibly to make the table a bit shorter
input type=text, with no list attribute
,input type=tel, with no list attribute
,input type=url with no list attribute
could be merged to make the table length a bit more bearable. input type=number
might not be spinbutton. The bit that concerns me is that spinbutton assumes discrete values, but number does floats with no limit by default. That is not particularly discrete unless min, max, and ideally step is specified. (IEEE754 does have a precision limit so no stepping is still discrete up to the precision the underlying floating point type allows)
Notes about ARIA:
- Unless
spinbutton
is a name that needs to stay for legacy reasons, there might be slightly more friendlier options in terms of naming. - Combobox doesn't quite match any web widget's behavior, is there a necessity for keeping this? Legacy reasons?
Comment by @stevefaulkner Apr 28, 2017 (See Github)
Thanks for the feedback,
Important to note -
Abstract
This specification defines the web developer rules (author conformance requirements) for the use of [wai-aria-1.1 http://w3c.github.io/html-aria/#bib-wai-aria-1.1] attributes on [HTML51 http://w3c.github.io/html-aria/#bib-HTML51] elements. It also defines requirements for Conformance Checking tools.
The ARIA in HTML spec does not define the role/state/property mappings/implementations in browsers, these are defined in HTML Accessibility API Mappings 1.0 https://w3c.github.io/html-aam/
as a consequence many of the comments provided are relevant to that specification, not to ARIA in HTML which confines itself to authoring requirements (which are expressed in conformance checking tools)
--
Regards
SteveF Current Standards Work @W3C http://www.paciellogroup.com/blog/2015/03/current-standards-work-at-w3c/
On 28 April 2017 at 10:40, cynthia notifications@github.com wrote:
CC: @LJWatson https://github.com/LJWatson, @stevefaulkner https://github.com/stevefaulkner
Thanks you for submitting the review request. Apologies for taking so much time to look into this, hope this isn't too late for the deadline.
Pre-warning: This was reviewed by @travisleithead https://github.com/travisleithead and me during Tokyo F2F, both not being the most literate about the dependency spec ARIA. There might be misunderstandings about what the original intention is - we did not have time to read the entire ARIA spec throughly before doing this review.
The first pass review comment list is a bit long, so we're providing it in bulletpoint format to make it a bit easier to follow.
- We think it would be better to remove keygen. This is a element that we have discussed in the past and decided to obsolete.
- input type=datetime has not been well received, so we would like to suggest replacing that with datetime-local which has better implementation support.
- Following item 2, input type=datetime-local should have probably be a grid role, with each data component being maybe a spinbutton? We aren't sure this would be the best option, since some of the input is text
- but the behavior of the individual data fields behave closer to a spinbutton in the implementations we have tested on, which is the rationale for this suggestion. input type="date", input type="month", input type="week", and input type="time" most likely fall under the same rule.
- a element without a href should be a bit more specific. When this is used as a anchor (for page internal navigation, using the name property) this is probably something that should have a landmark role.
- The likelihood of SVG being a graphic component is probably higher than it being a application or document from the user's perspective, so would it make sense to use img as the implicit role?
- img with alt="" might be better suited under a presentation role.
- meter seems to match the progressbar role reasonably well, any reason why this was not chosen?
- input type=submit has navigation behavior (although it depends on it being in a form) - this seems inconsistent with button element's role definition. Link might be needed as as potential role.
- It seems like input type=range can also be a spinbutton.
- Are we okay with not having any roles input type=password for password and input type=color for color? Password seems like it will happen in ARIA 2.0 so the dependency stands. Also, input type=file has no role, are we fine with this?
- hr role=separator has the role presentation. Should only be implicit seperator in the event it is focusable, as per ARIA definition?
- input type=range could be a spintbutton too. It seems to qualify against the rules defined there, at least based on some quick testing.
- input type=hidden is not covered by the hidden property entry at the bottom of the table, and should probably get a aria-hidden.
- Small nit: possibly to make the table a bit shorter input type=text, with no list attribute, input type=tel, with no list attribute, input type=url with no list attribute could be merged to make the table length a bit more bearable.
- input type=number might not be spinbutton. The bit that concerns me is that spinbutton assumes discrete values, but number does floats with no limit by default. That is not particularly discrete unless min, max, and ideally step is specified. (IEEE754 does have a precision limit so no stepping is still discrete up to the precision the underlying floating point type allows)
Notes about ARIA:
- Unless spinbutton is a name that needs to stay for legacy reasons, there might be slightly more friendlier options in terms of naming.
- Combobox doesn't quite match any web widget's behavior, is there a necessity for keeping this? Legacy reasons?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/w3ctag/design-reviews/issues/156#issuecomment-297955095, or mute the thread https://github.com/notifications/unsubscribe-auth/AAzBEybFr1PnhmswTjM3ff1HekH7eZxfks5r0bQMgaJpZM4MZh42 .
Comment by @slightlyoff Apr 29, 2017 (See Github)
Something we've hit on in further discussion about this (with @travisleithead @cynthia), we note that the HTML Accessibility API Mapping table and the ARIA in HTML notes many elements do not have corresponding roles.
HTML ARIA should view these omissions as a bug to be fixed and introduce roles and states as necessary to completely describe the behavior of the built-in elements. Without this, it is impossible to build Custom Elements to extend the behavior of many built-ins.
Comment by @stevefaulkner Apr 29, 2017 (See Github)
On 29 April 2017 at 04:06, Alex Russell notifications@github.com wrote:
Something we've hit on in further discussion about this (with @travisleithead https://github.com/travisleithead @cynthia https://github.com/cynthia), we note that the HTML Accessibility API Mapping table https://w3c.github.io/html-aam/ and the ARIA in HTML https://www.w3.org/TR/2017/WD-html-aria-20170323/#docconformance notes many elements do not have corresponding roles.
right and that is being worked on in the ARIA working group for ARIA 1.2, refer to role parity issues https://github.com/w3c/aria/issues?q=is%3Aissue+is%3Aopen+label%3A%22ARIA+1.2%22
Regards
SteveF Current Standards Work @W3C http://www.paciellogroup.com/blog/2015/03/current-standards-work-at-w3c/
Comment by @triblondon Jul 25, 2017 (See Github)
Agreed to close at London F2F. No further substantive feedback
OpenedMar 10, 2017
Hello TAG!
I [Léonie Watson] am requesting a TAG review of:
Further details (optional):
This review is requested as we prepare to transition to CR. Also, if you could ping me an email to let me know when you're done, it will help me keep track of everything.
We'd prefer the TAG provide feedback as (please select one):