Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HTML-AAM: @abbr should be part of name calculation #16

Closed
jasonkiss opened this issue Oct 12, 2016 · 11 comments
Closed

HTML-AAM: @abbr should be part of name calculation #16

jasonkiss opened this issue Oct 12, 2016 · 11 comments
Assignees

Comments

@jasonkiss
Copy link
Contributor

From @cyns on January 12, 2016 23:15

abbr should replace (or maybe add to?) the inner text of the element, and participate in name calculation.

Copied from original issue: w3c/aria#181

@jasonkiss jasonkiss added the AAM label Oct 12, 2016
@jasonkiss
Copy link
Contributor Author

Interestingly, HTML5.1 defines the abbr attribute as an "alternative label for the header cell" and that it is "typically an abbreviated form of the full header cell, but can also be an expansion, or merely a different phrasing." My experience is the opposite: it's typically an expansion. Either way, it's an interesting question.

In my view, adding the value of the abbr attribute to the header element's contents as accessible name will lead to unnecessary verbosity. And if the abbr can be either an expansion, or an abbreviation, or just some alternative phrasing, how do we decide when or how it should participate in the name calculation? (This is where Steve chimes in with his grep about how abbr is used in the wild ;)

Is it something to leave to ATs, or an AT user preference? What about accessible description? For instance, when browsing an actual header cell whose abbr is an expansion, it might be useful to get that expansion as an accessible description, but when navigating table cells, it might be nicer to just get the shorter header cell's contents.

@jasonkiss
Copy link
Contributor Author

From @jnurthen on March 16, 2016 3:39

I can tell you how we use it.

When we have sort controls within a table header then we use abbr to provide a version of the table header without the extraneous sorting control information to be used as the table header when reading cells in the table.

For example

Last Name sort ascendingsort desceding

Regards,
James.

On Mar 15, 2016, at 20:30, Jason Kiss [email protected] wrote:

Interestingly, HTML5.1 defines the abbr attribute as an "alternative label for the header cell" and that it is "typically an abbreviated form of the full header cell, but can also be an expansion, or merely a different phrasing." My experience is the opposite: it's typically an expansion. Either way, it's an interesting question.

In my view, adding the value of the abbr attribute to the header element's contents as accessible name will lead to unnecessary verbosity. And if the abbr can be either an expansion, or an abbreviation, or just some alternative phrasing, how do we decide when or how it should participate in the name calculation? (This is where Steve chimes in with his grep about how abbr is used in the wild ;)

Is it something to leave to ATs, or an AT user preference? What about accessible description? For instance, when browsing an actual header cell whose abbr is an expansion, it might be useful to get that expansion as an accessible description, but when navigating table cells, it might be nicer to just get the shorter header cell's contents.


You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub

@jasonkiss
Copy link
Contributor Author

Thanks @jnurthen. Looks like VO is using the abbr value when navigating cells, although I can't see how that's mapped using Accessibility Inspector. FF exposes the abbr as object attributes on the header cell. NVDA doesn't seem to read the abbr in FF, but JAWS does in IE and FF when navigating table data cells, but not when reading the actual header cell itself. Seems that preference then is to have abbr replace the header cell contents when navigating cells, but not when calculating name of the header cell itself?

@jasonkiss
Copy link
Contributor Author

@cookiecrook Accessibility Inspector with Safari Tech Preview shows value of attr on th exposed in "ExpandedTextValue". And VO seems to read this value to identify the relevant column or row header when navigating cells, but not when reading the name of the th itself. I'm unable to find any documentation about this property. AXExpandedTextValue? Can you help with a steer, or suggestion as to how best to represent this in the HTML-AAM mapping?

@cookiecrook
Copy link
Collaborator

cookiecrook commented May 31, 2017

For <abbr title> I think it's okay to include this in the language specific labeling attribute, like <img alt>. For <th abbr>, I'm not sure how best to represent in AAM other than to document what the engines currently expose.

@jasonkiss
Copy link
Contributor Author

Thanks.

For <abbr title> I think it's okay to include this in the language specific labeling attribute, like <img alt>.

Ok. The AAM currently says, rightly or wrongly, to map title on abbr to AXHelp. Chrome maps title to AXDescription on the AXGroup object for abbr. Meanwhile Safari maps it to AXExpandedTextValue on the AXStaticText node.

From your comment, I'm assuming that mapping title on abbr to AXDescription, like alt on img, is preferred.

For <th abbr>, I'm not sure how best to represent in AAM other than to document what the engines currently expose.

Chrome not exposing abbr on th at all from what I can tell, and Safari using AXExpandedTextValue, so I'll propose that as the appropriate mapping.

@cookiecrook
Copy link
Collaborator

Ok. The AAM currently says, rightly or wrongly, to map title on abbr to AXHelp. Chrome maps title to AXDescription on the AXGroup object for abbr. Meanwhile Safari maps it to AXExpandedTextValue on the AXStaticText node.

Such is the challenge with normalizing ~ten accessibility APIs into one. 😀 I'd guess the Chrome mapping is just left over from when they forked WebKit into Blink. A lot of the smaller WebKit accessibility fixes since that time never made it to Blink.

Chrome not exposing abbr on th at all from what I can tell, and Safari using AXExpandedTextValue, so I'll propose that as the appropriate mapping. Please use AXExpandedTextValue as the mapping.

Ditto here. Yes, please use AXExpandedTextValue as the mapping.

@jasonkiss
Copy link
Contributor Author

@cookiecrook Thanks, as always, for the feedback.

I will update mappings for title on abbr to AXDescription, and abbr on th to AXExpandedTextValue.

One last question: Any chance you have a link to publicly available documentation listing/describing AXExpandedTextValue?

@jasonkiss
Copy link
Contributor Author

Addressed in ef2ad72. Closing.

@cookiecrook
Copy link
Collaborator

One last question: Any chance you have a link to publicly available documentation listing/describing AXExpandedTextValue?

I don't think so. @fleizach?

@fleizach
Copy link

fleizach commented Jun 2, 2017 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants