- From: Sarah Higley <notifications@github.com>
- Date: Tue, 08 Sep 2026 06:04:34 -0700
- To: w3ctag/design-reviews <design-reviews@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <w3ctag/design-reviews/issues/1037/5585578670@github.com>
smhigley left a comment (w3ctag/design-reviews#1037) I saw this update since I was tagged earlier, so I thought it might be helpful to drop a little more context on the a11y questions raised: Having followed, tested, and researched this for quite a while, I also agree with @matatk that this is different from any other existing CSS mechanism in how it imparts roles and creates accessibility nodes for pseudo-elements, and that it seems to be a fundamental expansion of what CSS does. This is different from existing ways CSS affects role mappings in the following ways: - Rather than removing an existing mapping from a semantic HTML element, it adds roles to otherwise generic (or maybe even non-generic) elements. Some of those roles cannot be overridden by the author (roles and other semantics on the pseudo-elements), and it's unclear what should happen to scroll marker roles if the originating element (default tabpanel) is given a different role that would be at odds with the default tablist/tabpanel. - It creates interactive, focusable, and semantic nodes in CSS that are not present in HTML, and cannot be directly queried and manipulated with JS. - It introduces nodes with semantics created in CSS that cannot be overridden in HTML (or even in CSS), even though custom semantics for carousels (i.e. neither tabs nor links) is the majority use case in a quick survey of carousels on major sites. This isn't to say tabs/links is the wrong choice -- there is no majority use case for carousel semantics, they are very diverse. - It introduces interactive nodes that cannot be given an accessible name at all (the column scroll markers), and no clear path has been proposed to resolve this fundamental a11y failure. - It introduces interactive nodes where the only way to define an accessible name is through CSS, even though strings in CSS do not work with user-facing translation tools, and discussions suggest this cannot be resolved in the foreseeable future. For more info on the accessibility impact of carousels, I've filed the following issues on the CSS spec that might be useful to reference here: - https://github.com/w3c/csswg-drafts/issues/12268 - https://github.com/w3c/csswg-drafts/issues/12270 - https://github.com/w3c/csswg-drafts/issues/12269 - https://github.com/w3c/csswg-drafts/issues/12240 - https://github.com/w3c/csswg-drafts/issues/14218 -- Reply to this email directly or view it on GitHub: https://github.com/w3ctag/design-reviews/issues/1037#issuecomment-5585578670 You are receiving this because you are subscribed to this thread. Message ID: <w3ctag/design-reviews/issues/1037/5585578670@github.com>
Received on Tuesday, 8 September 2026 13:04:38 UTC