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

Why MUST use lowercase ASCII letters for roles? #280

Closed
marcoscaceres opened this issue Mar 8, 2021 · 16 comments
Closed

Why MUST use lowercase ASCII letters for roles? #280

marcoscaceres opened this issue Mar 8, 2021 · 16 comments

Comments

@marcoscaceres
Copy link
Member

The spec says:

Authors MUST use lowercase ASCII letters for all role token values and any state or property attributes (aria-*) whose values are defined as tokens.

That seems counter to the use of tokenized attribute values elsewhere in HTML, no? Why not just shift that burden to browsers to canonicalize the tokens to lower case before passing them to the AT?

@marcoscaceres
Copy link
Member Author

Also, as an aside, I don't see why this section needs to be called out on its own? It should just be part of the "Developer requirements for use of ARIA in HTML"

@stevefaulkner
Copy link
Collaborator

Why not just shift that burden to browsers to canonicalize the tokens to lower case before passing them to the AT?

agree, but will keep this requirement in place until this is implemented.

@marcoscaceres
Copy link
Member Author

marcoscaceres commented Mar 8, 2021

It's already implemented, no? Chrome, for instance:

Screen Shot 2021-03-08 at 7 24 00 pm

@marcoscaceres
Copy link
Member Author

Same in Safari, unless I'm doing something wrong?

Screen Shot 2021-03-08 at 7 32 36 pm

@JAWS-test
Copy link

It should be tested with all relevant browsers and not only Chrome and Safari

@stevefaulkner
Copy link
Collaborator

@marcoscaceres case sensitive in Firefox 87.0b2 (64-bit)
test case https://cdpn.io/stevef/debug/WNoawKB

@marcoscaceres
Copy link
Member Author

It should be tested with all relevant browsers and not only Chrome and Safari

Agree. I was just trying to see if there was some browser support. Two browsers conforming does make a standard, so can the requirement be dropped?

@marcoscaceres case sensitive in Firefox 87.0b2 (64-bit)

Understood, but that's then a Firefox bug (given the other browsers do the right thing), right? Something we can bug the gecko folks to fix.

@pkra
Copy link
Member

pkra commented Mar 8, 2021

Understood, but that's then a Firefox bug (given the other browsers do the right thing), right? Something we can bug the gecko folks to fix.

Steve went back in time to file it: https://bugzilla.mozilla.org/show_bug.cgi?id=1407167

@stevefaulkner
Copy link
Collaborator

@pkra thanks for finding that, it was so long ago had forgotten :-)

@marcoscaceres
Copy link
Member Author

Lol, yeah. Don't give Firefox a pass here. It's a web compat issue, not a spec issue.

@scottaohara
Copy link
Member

removed the label for 1.0. per the discussion in the PR, don't want this to merge yet.

@marcoscaceres
Copy link
Member Author

Firefox patch sent. Awaiting review.

@marcoscaceres
Copy link
Member Author

Patch landed and it's shipping in FF Nightly, so now all browser engines behave the same 🎉. @scottaohara, I think that puts this back in scope of 1.0, right?

@nschonni
Copy link
Contributor

I think the browser part addressed, but not the AT and OS API compat #287 (comment)

@marcoscaceres
Copy link
Member Author

marcoscaceres commented Mar 15, 2021

Right, so as Jamie stated:

At the very least, we'd need to figure out how to deal with this ATK/IA2 xml-roles problem. If the browsers should lower case, we need to file and fix bugs in both Firefox and Chromium. if the ATs should deal with that, we need to file and wait for fixes in the ATs.

IIUC, normalizing to lcase at the browser level for computed/derived roles seems best here. However, that's independent of the advice given to developers (which is generally not helpful and doesn't scale).

Having said that, we should also tell the ATs to lcase things, just to make sure we have all bases covered. Do we know folks working on the ATs that we can get in touch with?

@scottaohara
Copy link
Member

closing this issue per merge of #333 where "MUST" was changed to "SHOULD"

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

Successfully merging a pull request may close this issue.

6 participants