-
Notifications
You must be signed in to change notification settings - Fork 22
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
CSS text-transform affects computed name #239
Comments
Hi Adam! Nice catch, but this is something that is actually still being debated. Many think the spec should change, not the browsers, here is the context: w3c/csswg-drafts#3775 |
There is recent activity on this Chromium issue, though not sure it helps: |
Agenda for: Discuss how to track accessibility issues on CSS? |
I'd encourage everyone to read the existing CSS specification text in the OG post. Browsers have purposefully chosen to do the opposite of CSS Spec, and now we're suggesting to define conflicting behavior to CSS spec in AccName spec because it's what browsers do right now. I strongly urge us to re-consider. Another option would be to have CSS spec change first, but this is genuinely going to break the web in a lot of places. Well I guess since browsers do this, it's already breaking the web, we just didn't realize it. I oppose making it AccName or HTML-AAM spec that if CSS uppercases it with text-transform then that's what should go to the AT. If authors want the information in uppercase letters, that's how the content should be written, and put in the DOM that way. We'd be removing any method of having presentational uppercase text in the browser. |
Hi Melanie, on my first glance I agreed with you, but I think there were
some good counter arguments too. It would be helpful to address those, such
as Braille display support, authoring, stability of existing
implementations, difficulty implementing (because browsers already use
rendered text in order to get whitespace accuracy), and the likelihood that
future speech engines will become smarter because of AI. It's frustrating
that CSS would not be purely presentational and that current
implementations don't seem to agree with CSS spec text, but we can't just
skip over the counter arguments either.
…On Thu, Aug 1, 2024 at 2:10 PM Melanie Sumner ***@***.***> wrote:
I'd encourage everyone to read the existing CSS specification text in the
OG post.
Browsers have purposefully chosen to do the opposite of CSS Spec, and now *we're
suggesting to define conflicting behavior to CSS spec in AccName spec
because it's what browsers do right now.*
I strongly urge us to re-consider.
Another option would be to have CSS spec change *first*.
I oppose making it AccName or HTML-AAM spec that if CSS uppercases it with
text-transform then that's what should go to the AT. If authors want the
information in uppercase letters, that's how the content should be written,
and put in the DOM that way.
We'd be removing *any* method of having presentational uppercase text in
the browser.
—
Reply to this email directly, view it on GitHub
<#239 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAKQAZTCQGPDFZFD4PDROJLZPJ2X7AVCNFSM6AAAAABIN5FJO6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENRTGY3DOOJZHA>
.
You are receiving this because you are subscribed to this thread.Message
ID: <w3c/accname/issues/239/2263667998 ***@***.***>
|
@aleventhal We're taking away a design tool and there's going to be (or already is?) no alternative. The idea that AI is going to become smart enough to tell an author's intent is not something we have any real evidence for, and it would be foolhardy to believe that this would be the case. Add a new aria- attribute for this? Sure. But directly opposing CSS Spec AND completely removing a design tool for designers with no other way for them to do the thing? Seems not just bad but this-is-breaking-the-web bad. Apologies if this comes across as super intense. I respect and support the work browsers are trying to do to put users first and provide a more inclusive experience on a web where code is of increasingly poor quality. In this case, however, I just don't think that this is the way. I think we can do better than this. |
No worries. I'm just suggesting the path forward for your idea is to make a
solid proposal that addresses those other points. I don't have agenda on
this issue, just trying to help.
…On Thu, Aug 1, 2024 at 2:22 PM Melanie Sumner ***@***.***> wrote:
@aleventhal <https://github.com/aleventhal> We're taking away a design
tool and there's going to be (or already is?) no alternative. The idea that
AI is going to become smart enough to tell an author's intent is not
something we have any real evidence for, and it would be foolhardy to
believe that this would be the case.
Add a new aria- attribute for this? Sure.
Add a new HTML tag for this? okay fine.
Encourage content writers to make things in capital letters in the
*content*? Yes definitely
But directly opposing CSS Spec AND completely removing a design tool for
designers with no other way for them to do the thing? Seems not just bad
but this-is-breaking-the-web bad.
Apologies if this comes across as super intense. I respect and support the
work browsers are trying to do to put users first and provide a more
inclusive experience on a web where code is of increasingly poor quality.
In this case, however, I just don't think that this is the way. I think we
can do better than this.
—
Reply to this email directly, view it on GitHub
<#239 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAKQAZXCSUAEPZ47NZ5JSJTZPJ4G5AVCNFSM6AAAAABIN5FJO6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENRTGY4TCMRZGI>
.
You are receiving this because you were mentioned.Message ID:
<w3c/accname/issues/239/2263691292 ***@***.***>
|
@MelSumner If you can gather proposals for all the concerns you raised above, I think this would make a good deep dive topic. But we need to have some direction and it seems like you have spent some time thinking about these.
I have and have been following along for the last 12 years (and there are bugs open 14 years or more) and even discussing copying styled text results in valid arguments both ways. |
Capturing points of viewFirst, I think it's important to acknowledge the differing points of view here.
Let's assume for the sake of this audience (and because I think it's a safe assumption), accessibility advocates/people working on this problem are empathetic towards all sides of this issue. Existing guidanceLet's also consider the the guidance we've been providing to designers and developers for many years.
(Note: I've loosely paraphrased here, I will look for links) Web usage examplesWhat cases do we se on the web now? Let's consider some examples (non-exhaustive list):
Action steps for AccName specPotential action steps we could take here for AccName spec:
Recommended future discussionI am deeply troubled by the trend of browsers making changes that are in direct conflict with the specification. I think we need to have a serious discussion about the future of the web/spec and our role in it. Specifications are supposed to be instructions for browser vendors, but it seems as though specifications are often asked to change to reflect what browsers have chosen to do. The working group should be considering and discussing the root cause and future appropriate action. I am sure there is a balance to be had, and that reasoned discussion will be an essential part of resolving the state in which we currently find ourselves. I do not believe that what is happening now is sustainable in any meaningful sense. ETA: I am sympathetic to the difficult work of engineering browser code, there are a lot of competing priorities and it is a difficult job. I recognize that The WPT intends to help with this, but perhaps we (as specification contributors/authors) could coordinate more so that we are able to delineations that are complimentary instead of contradictory. I apologize if any of the discussion suggestions come across as inflammatory. My intent is to encourage deeper conversation, even if it's difficult. |
Hi Melanie, I think the Braille display point is a good one and should be added. |
@aleventhal I pulled in your comments from prior comments, apologies for leaving them out. I think I need more details on the braille implementation point, can you point me to a doc where I can read more, or let me know what that bullet point should say? |
Basically someone raised it on the call, that it seems most natural for the
Braille display to reflect the capitalization seen on the screen.
…On Fri, Aug 2, 2024 at 2:38 PM Melanie Sumner ***@***.***> wrote:
@aleventhal <https://github.com/aleventhal> I pulled in your comments
from prior comments, apologies for leaving them out. I think I need more
details on the braille implementation point, can you point me to a doc
where I can read more, or let me know what that bullet point should say?
—
Reply to this email directly, view it on GitHub
<#239 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAKQAZWQISFUSNSTHVSVJHLZPPGZ7AVCNFSM6AAAAABIN5FJO6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENRVHE2DANBUGQ>
.
You are receiving this because you were mentioned.Message ID:
<w3c/accname/issues/239/2265940444 ***@***.***>
|
i've added it! thanks! |
In the "Existing guidance" heading, you use "we". I know you mean the royal we, but items 1–3 I have not, personally, said in years. Terrible trainings, old books, simple guides, etc. still make some of those claims (along with SEO nonsense), but broadly those are wrong. It seems part of this challenge is deciding if or how much we want to also factor in existing wrong guidance. As for your "Action steps", Scott made an issue for item 1 in AAM. Do you have a starting point for item 2? |
I'm not sure what you're expecting here. I'm trying the best I can to gather responses and figure out a path forward for AccName. |
I did some testing over the weekend and results are very inconsistent. As such, we should probably stick a pin in this for now, write up a full analysis, and deep dive it. |
Melanie Richard's article was, and is still an excellent resource on this topic. It also directly mentions that CSS can contribute to / alter the way browsers expose content to the a11y tree, or that screen readers can infer styling as they see fit (also via referencing the DOM or what the styles may expose in the a11y tree). here is one mention of that from the article:
I am calling this out specifically because I think it's important that we are all coming at this from the same baseline. CSS can be used to manipulate the presentation of HTML, adding extra content or styles which can convey important visual meaning. CSS doesn't manipulate the semantics of the HTML or the text content - the markup is still the markup, and the text is still the text. But the styles used come with their own information that can be important to communicate. browsers can expose that information by the a11y api, and screen readers / potentially other AT may expose that styling information to users (or not) - by default or based on settings. |
These are good points. Also, display:none is probably the most impactful CSS feature when it comes to the a11y tree, both in terms of frequency and the fact that it can remove things from the a11y tree. |
I've updated the "existing guidance" section specifically re: CSS. I acknowledge that it was too simplistic and didn't take current CSS into account in the way that it should have. Ty for the feedback! 👍 |
Briefly...
The second and third statements are not strictly true. The DOM is manipulated by CSS (with the
Regardless of its stated purpose, it absolutely impacts semantics. See my multi-year campaign about
I would flip these because you don't want to code to the spec when you know doing so harms the output. For example, I would love Edit: I see the things on which I was commenting changed while I was writing this. So, I dunno, adjust as appropriate? |
Capturing some things mentioned on the call last week:
say -v Fred "CALL US"
say -v Samantha "CALL US"
say -v Eddy "CALL US"
say -v Susan "CALL US" IMO, it's not appropriate for CSS or ARIA to try to "fix" a speech engine bug by mandating behavior in browser engines that is known to misrepresent renderings to AT uses, and known to cause downstream issues with braille displays and single-character review. PS. One exception is the |
@MelSumner discovered that it may be even more specific than the speech engine. The same speech engine (IIRC) with an say -v Daniel "AWS Manager"
say -v Samantha "AWS Manager" Another engine also gets this one wrong. say -v Eddy "AWS Manager" PS. It may also be worth pointing out that this particular string would be unlikely to be triggered by text-transform. |
Just commenting to add link to minutes of Aug 1 meeting: https://www.w3.org/2024/08/01-aria-minutes#t07 |
During some recent JAWS testing, I encountered a “Call us” heading awkwardly pronounced as “Call U.S.”
The heading had been rendered with CSS
text-transform: uppercase
, and I was surprised to confirm that this presentational transformation had bled into the accessibility tree.The CSS spec’s documentation for
text-transform
states:In the spirit of that specification, I propose adding a note to the accname spec (possibly to the Name from Content section) to clarify that the computed name must remain unaffected by
text-transform
so that the author’s semantic casing decisions will be faithfully passed along to assistive technology.I’ve submitted a few WPT subtests to accompany this issue. As it turns out, all 3 major browsers engines let
text-transform
affect the computed name. 😅 If the working group agrees, I’ll draft an update to the accname spec and also create implementation bugs (or boost existing ones, such as this Chromium issue).The text was updated successfully, but these errors were encountered: