Skip to content

Conversation

@ZoeBijl
Copy link

@ZoeBijl ZoeBijl commented Nov 13, 2025

This description is a stub, please help expand it.

The creation of a CSS-AAM came up again during the tueseday ARIA session at TPAC (minutes for this session). @jcsteh and I voulunteerd to be editors for this document.

There’s still work that needs to be done before this can be merged:

@netlify
Copy link

netlify bot commented Nov 13, 2025

Deploy Preview for wai-aria ready!

Name Link
🔨 Latest commit 6e4d275
🔍 Latest deploy log https://app.netlify.com/projects/wai-aria/deploys/69271e0948d7c300078d6fb9
😎 Deploy Preview https://deploy-preview-2673--wai-aria.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@ZoeBijl
Copy link
Author

ZoeBijl commented Nov 17, 2025

Could someone look at why the roleinfo check is failing?

@ZoeBijl ZoeBijl moved this to Agenda+ in ARIA Editors Nov 21, 2025
Copy link

@jcsteh jcsteh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks so much for getting this started. Sorry it took me a while to get to this.


CSS Accessibility API Mappings (css-aam) developed by the [Accessible Rich Internet Applications Working Group](https://www.w3.org/WAI/ARIA/) (previously the [Web Applications Working Group](https://www.w3.org/2019/webapps/)).

This specification was part of the [ARIA suite](https://www.w3.org/WAI/ARIA/deliverables). General information about editing the specification is in the [main ARIA repository readme](https://github.com/w3c/aria/).
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: Should this be "is" instead of "was"?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't believe CSS AAM was every published by the web apps working group. HTML AAM was for a time, which I assume is where this text came from. But, CSS AAM wasn't worked on at all during the period web apps wg had html aam

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • remove the second paragraph.

//previousMaturity: "WD",
//previousPublishDate: "2012-10-25",
//previousURI: "http://www.w3.org/TR/",
copyrightStart: "2016",
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: Are we keeping anything from the old doc? if not, should this be 2025?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We’re starting fresh, so yea let’s change to 2025.

  • change to 2025

<strong>This document is subject to change without notice.</strong>
</p>
<p>
This document was initially developed by and with the approval of the <a href="https://www.w3.org/WAI/APA/task-forces/css-a11y/">CSS Accessibility Task Force</a>, a collaboration of
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we keeping anything from the original document? (Was there anything to keep?) If not, should we drop mention of the older collaboration that didn't bear fruit?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • remove collaboration

charset = utf-8
end_of_line = lf
indent_style = space
indent_size = 4
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we use indent_size = 2 for consistency with the other ARIA specs?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i’d like to discuss this tonight during the editor’s meeting. i prefer 4 spaces for readability but not a hill i’d like to die on. @jcsteh do you have a preference?

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tend to prefer 2 spaces, but same here: not a hill I'd like to die on. I figured consistency would be best though, which just happens (as a total coincidence) to support my preference. 😉

<h3>General Rules for Exposing WAI-ARIA Semantics</h3>
</section>
<section id="css-property-mappings">
<h3>CSS Property mappings</h3>
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: Title case.

Suggested change
<h3>CSS Property mappings</h3>
<h3>CSS Property Mappings</h3>

<h3>CSS Property mappings</h3>
</section>
<section id="css-pseudo-element-mappings">
<h3>CSS Pseudo-element mappings</h3>
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: Title case.

Suggested change
<h3>CSS Pseudo-element mappings</h3>
<h3>CSS Pseudo-element Mappings</h3>

</section>
<section>
<h2>Mapping CSS to Accessibility APIs</h2>
<section id="css-mapping">
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<section id="css-mapping">
<section id="mapping_general">

<section>
<h2>Mapping CSS to Accessibility APIs</h2>
<section id="css-mapping">
<h3>General Rules for Exposing WAI-ARIA Semantics</h3>
Copy link

@jcsteh jcsteh Nov 25, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I initially thought about removing this section altogether. Even though the whole point of this spec is to map CSS to accessibility APIs, almost none of it can be expressed in terms of default ARIA semantics. Anchor positioning might have been one case (mapping to aria-details), but the consensus seems to be to scrap that. However, I can think of one exception: pseudo-elements can have a default ARIA role of "image" if they have image content and alt text. So I guess that means we need this section after all?

Suggested change
<h3>General Rules for Exposing WAI-ARIA Semantics</h3>
<h3>General Rules for Exposing WAI-ARIA Semantics</h3>
<p>
Most CSS accessibility API mappings cannot be expressed in terms of WAI-ARIA semantics. However, there are some exceptions such as a pseudo-element which has generated content and alternative text. Where a CSS property or pseudo-element specifies default WAI-ARIA semantics, it MUST be exposed to the platform <a class="termref">accessibility APIs</a> in a way that conforms to
<a class="core-mapping" href="#mapping_general">General rules for exposing WAI-ARIA semantics</a> in the [[[core-aam-1.2]]].
</p>

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think if there’s an exception we could have the section and say what you said: “generally there are no default mappings except for x and y.”

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I edited my diff suggestion above to incorporate your suggestion and also fix a copy/paste error.

<h3>CSS Pseudo-element mappings</h3>
</section>
<section id="css-pseudo-element-mappings">
<h3>CSS Mapping pseudo-class selectors</h3>
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<h3>CSS Mapping pseudo-class selectors</h3>
<h3>Mapping CSS Pseudo-class Selectors</h3>
<p>
CSS pseudo-class selectors are not directly exposed to accessibility APIs and have no direct impact on the <a class="termref">accessibility tree</a>. However, when a pseudo-class selector matches, this may cause additional CSS properties or pseudo-elements to apply. These must be exposed to accessibility APIs as described in other sections of this specification. In addition, many pseudo-class selectors match based on element states; e.g. the enabled, disabled, required and focused states. These should be mapped as described in the Accessibility API Mappings specification for the host language such as [[HTML-AAM]].
</p>

@daniel-montalvo
Copy link
Contributor

@daniel-montalvo should discuss with strategy team, make sure were on the same page

Great to have this work started and progressed on during this Charter period, but in order for this to become either CR or REC we'd have to recharter. Our current charter is too strict that we'd be doing this under HTML-AAM

In any case, taking this to REC in one year would be challenging anyway, so I think we are good if we publish an FPWD and get this ready for CR by the time we recharter.

@pkra
Copy link
Member

pkra commented Nov 26, 2025

Could someone look at why the roleinfo check is failing?

@ZoeBijl I just filed #2683 to look into it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Agenda+

Development

Successfully merging this pull request may close these issues.

6 participants