-
Notifications
You must be signed in to change notification settings - Fork 139
WIP: Add CSS-AAM editor’s draft #2673
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
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,69 @@ | ||
| name: css-aam ED | ||
| on: | ||
| push: | ||
| branches: | ||
| - "main" | ||
| paths: | ||
| - "common/**" | ||
| - "css-aam/**" | ||
| workflow_dispatch: | ||
|
|
||
| jobs: | ||
| dispatch: | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - name: Dispatch to css-aam repo | ||
| run: | | ||
| curl -L -X POST \ | ||
| -H "Accept: application/vnd.github+json" \ | ||
| -H "Authorization: Bearer ${{secrets.W3CGRUNTBOT_TOKEN}}" \ | ||
| -H "X-GitHub-Api-Version: 2022-11-28" \ | ||
| https://api.github.com/repos/w3c/css-aam/actions/workflows/build-from-monorepo.yaml/dispatches \ | ||
| -d '{"ref":"gh-pages"}' | ||
| update-css-aam: | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - name: Checkout monorepo | ||
| uses: actions/checkout@v5 | ||
| with: | ||
| ref: main | ||
| path: aria | ||
| sparse-checkout: | | ||
| css-aam | ||
| common | ||
| - name: Copy common | ||
| run: | | ||
| mkdir aria/css-aam/common | ||
| cp -r aria/common/** aria/css-aam/common/ | ||
| sed -i 's|\.\./common|common|g' aria/css-aam/index.html | ||
| - uses: w3c/spec-prod@v2 | ||
| with: | ||
| TOOLCHAIN: respec | ||
| SOURCE: aria/css-aam/index.html | ||
| DESTINATION: aria/css-aam/index.html | ||
| # W3C_ECHIDNA_TOKEN: ${{ secrets.ECHIDNA_TOKEN_pdf_aam }} | ||
| # W3C_WG_DECISION_URL: https://lists.w3.org/Archives/Public/public-aria-admin/2018Sep/0011.html | ||
| # W3C_BUILD_OVERRIDE: | | ||
| # specStatus: WD | ||
| ARTIFACT_NAME: css-aam | ||
| - name: Checkout css-aam repo | ||
| uses: actions/checkout@v5 | ||
| with: | ||
| repository: w3c/css-aam | ||
| ref: gh-pages | ||
| path: css-aam | ||
| token: ${{ secrets.W3CGRUNTBOT_TOKEN }} | ||
| - uses: actions/download-artifact@v4 | ||
| with: | ||
| name: css-aam | ||
| - name: Copy files | ||
| run: | | ||
| cp -r index.html css-aam/ | ||
| - name: Push new files to child repo | ||
| run: | | ||
| git config user.name "github-actions[bot]" | ||
| git config user.email "41898282+github-actions[bot]@users.noreply.github.com" | ||
| git add . | ||
| git commit -m "ED update" | ||
| git push origin gh-pages | ||
| working-directory: css-aam |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| root = true | ||
|
|
||
| [*] | ||
| charset = utf-8 | ||
| end_of_line = lf | ||
| indent_style = space | ||
| indent_size = 4 | ||
| insert_final_newline = true | ||
| trim_trailing_whitespace = true | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| # CSS-AAM | ||
|
|
||
| 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/). | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. nit: Should this be "is" instead of "was"?
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,48 @@ | ||
| respecConfig.localBiblio = { | ||
| ...respecConfig.localBiblio, | ||
|
|
||
| // Correct reference for ATK | ||
| ATK: { | ||
| href: "https://gitlab.gnome.org/GNOME/at-spi2-core/", | ||
| title: "ATK - Accessibility Toolkit", | ||
| publisher: "The GNOME Project", | ||
| }, | ||
| "AT-SPI": { | ||
| href: "https://gitlab.gnome.org/GNOME/at-spi2-core/", | ||
| title: "Assistive Technology Service Provider Interface", | ||
| publisher: "The GNOME Project", | ||
| }, | ||
| // Custom reference for the Mac OSX Accessibility API | ||
| AXAPI: { | ||
| href: "https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Protocols/NSAccessibility_Protocol/index.html", | ||
| title: "The Mac OS X Accessibility Protocol Mac OS 10.10", | ||
| publisher: "Apple Corporation", | ||
| }, | ||
| "EPUB-SSV": { | ||
| href: "http://www.idpf.org/epub/vocab/structure/", | ||
| title: "EPUB Structural Semantics Vocabulary", | ||
| publisher: "IDPF", | ||
| }, | ||
| // Custom reference for GTK+ (GNOME GUI Toolkit) (not available from SpecRef biblio) | ||
| GTK: { | ||
| href: "https://developer.gnome.org/gtk3/stable/", | ||
| title: "GTK+ 3 Reference Manual", | ||
| publisher: "The GNOME Project", | ||
| }, | ||
| MSAA: { | ||
| href: "https://msdn.microsoft.com/en-us/library/ms697707.aspx", | ||
| title: "Microsoft Active Accessibility (MSAA) 2.0", | ||
| publisher: "Microsoft Corporation", | ||
| }, | ||
| "UI-AUTOMATION": { | ||
| href: "https://msdn.microsoft.com/en-us/library/ee684009%28v=vs.85%29.aspx", | ||
| title: "UI Automation", | ||
| publisher: "Microsoft Corporation", | ||
| }, | ||
| // Custom reference for UIA Express (not available from SpecRef biblio). | ||
| "UIA-EXPRESS": { | ||
| href: "https://msdn.microsoft.com/en-us/library/windows/desktop/dd561898%28v=vs.85%29.aspx", | ||
| title: "The IAccessibleEx Interface", | ||
| publisher: "Microsoft Corporation", | ||
| }, | ||
| }; |
| Original file line number | Diff line number | Diff line change | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,169 @@ | ||||||||||||||
| <!doctype html> | ||||||||||||||
| <html lang="en-US"> | ||||||||||||||
| <head> | ||||||||||||||
| <meta charset="utf-8" /> | ||||||||||||||
| <title>CSS Accessibility API Mappings 1.0</title> | ||||||||||||||
| <script src="https://www.w3.org/Tools/respec/respec-w3c" class="remove" defer="defer"></script> | ||||||||||||||
| <script src="../common/script/resolveReferences.js" class="remove"></script> | ||||||||||||||
| <script src="../common/script/utility.js" class="remove"></script> | ||||||||||||||
| <script src="../common/script/participants.js" class="remove"></script> | ||||||||||||||
|
|
||||||||||||||
| <script class="remove"> | ||||||||||||||
| var respecConfig = { | ||||||||||||||
| group: "aria", | ||||||||||||||
| github: "w3c/aria/css-aam/", | ||||||||||||||
| doJsonLd: true, | ||||||||||||||
|
|
||||||||||||||
| // Document info | ||||||||||||||
| specStatus: "ED", | ||||||||||||||
| shortName: "css-aam-1.0", | ||||||||||||||
| //publishDate: "2009-08-06", | ||||||||||||||
| //previousMaturity: "WD", | ||||||||||||||
| //previousPublishDate: "2012-10-25", | ||||||||||||||
| //previousURI: "http://www.w3.org/TR/", | ||||||||||||||
| copyrightStart: "2016", | ||||||||||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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?
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We’re starting fresh, so yea let’s change to 2025.
|
||||||||||||||
| edDraftURI: "https://w3c.github.io/css-aam/", | ||||||||||||||
| // lcEnd: "2010-08-06", | ||||||||||||||
|
|
||||||||||||||
| tocIntroductory: true, | ||||||||||||||
| maxTocLevel: 2, | ||||||||||||||
|
|
||||||||||||||
| // Editors | ||||||||||||||
| editors: [ | ||||||||||||||
| { name: "Zoë Bijl", company: "Invited Expert", mailto: "[email protected]", w3cid: 74040 }, | ||||||||||||||
| { name: "James Teh", company: "Mozilla Foundation", companyURL: "https://mozilla.org/", mailto: "[email protected]", w3cid: 134488 }, | ||||||||||||||
| ], | ||||||||||||||
| // authors, add as many as you like. | ||||||||||||||
| // This is optional, uncomment if you have authors as well as editors. | ||||||||||||||
| // only "name" is required. Same format as editors. | ||||||||||||||
| //authors: [ | ||||||||||||||
| // { name: "Your Name", url: "http://example.org/", | ||||||||||||||
| // company: "Your Company", companyURL: "http://example.com/" }, | ||||||||||||||
| //], | ||||||||||||||
|
|
||||||||||||||
| // Spec URLs | ||||||||||||||
| ariaSpecURLs: { | ||||||||||||||
| ED: "https://w3c.github.io/aria/", | ||||||||||||||
| FPWD: "https://www.w3.org/TR/wai-aria-1.3/", | ||||||||||||||
| WD: "https://www.w3.org/TR/wai-aria-1.3/", | ||||||||||||||
| CR: "https://www.w3.org/TR/wai-aria-1.3/", | ||||||||||||||
| REC: "https://www.w3.org/TR/wai-aria-1.3/", | ||||||||||||||
| }, | ||||||||||||||
| accNameURLs: { | ||||||||||||||
| ED: "https://w3c.github.io/accname/", | ||||||||||||||
| WD: "https://www.w3.org/TR/accname-1.2/", | ||||||||||||||
| FPWD: "https://www.w3.org/TR/accname-1.2/", | ||||||||||||||
| CR: "https://www.w3.org/TR/accname-1.2/", | ||||||||||||||
| REC: "https://www.w3.org/TR/accname-1.2/", | ||||||||||||||
| }, | ||||||||||||||
| coreMappingURLs: { | ||||||||||||||
| ED: "https://w3c.github.io/core-aam/", | ||||||||||||||
| WD: "https://www.w3.org/TR/core-aam-1.2/", | ||||||||||||||
| FPWD: "https://www.w3.org/TR/core-aam-1.2/", | ||||||||||||||
| CR: "https://www.w3.org/TR/core-aam-1.2/", | ||||||||||||||
| REC: "https://www.w3.org/TR/core-aam-1.2/", | ||||||||||||||
| }, | ||||||||||||||
| dpubModURLs: { | ||||||||||||||
| ED: "https://w3c.github.io/dpub-aria/", | ||||||||||||||
| FPWD: "https://www.w3.org/TR/dpub-aria-1.1/", | ||||||||||||||
| WD: "https://www.w3.org/TR/dpub-aria-1.1/", | ||||||||||||||
| REC: "https://www.w3.org/TR/dpub-aria-1.1/", | ||||||||||||||
| }, | ||||||||||||||
| graphicsMappingModURLs: { | ||||||||||||||
| ED: "https://w3c.github.io/graphics-aam/", | ||||||||||||||
| FPWD: "https://www.w3.org/TR/graphics-aam-1.0/", | ||||||||||||||
| WD: "https://www.w3.org/TR/graphics-aam-1.0/", | ||||||||||||||
| CR: "https://www.w3.org/TR/graphics-aam-1.0/", | ||||||||||||||
| PR: "https://www.w3.org/TR/graphics-aam-1.0/", | ||||||||||||||
| REC: "https://www.w3.org/TR/graphics-aam-1.0/", | ||||||||||||||
| }, | ||||||||||||||
| graphicsModURLs: { | ||||||||||||||
| ED: "https://w3c.github.io/graphics-aria/", | ||||||||||||||
| FPWD: "https://www.w3.org/TR/graphics-aria/", | ||||||||||||||
| WD: "https://www.w3.org/TR/graphics-aria/", | ||||||||||||||
| REC: "https://www.w3.org/TR/graphics-aria/", | ||||||||||||||
| }, | ||||||||||||||
| htmlMappingURLs: { | ||||||||||||||
| ED: "https://w3c.github.io/html-aam/", | ||||||||||||||
| FPWD: "https://www.w3.org/TR/html-aam-1.0/", | ||||||||||||||
| WD: "https://www.w3.org/TR/html-aam/", | ||||||||||||||
| REC: "https://www.w3.org/TR/html-aam/", | ||||||||||||||
| }, | ||||||||||||||
|
|
||||||||||||||
| xref: ["HTML", "core-aam", "accname", "wai-aria", "dom", "infra"], | ||||||||||||||
| preProcess: [linkCrossReferences, getParticipants], | ||||||||||||||
| postProcess: [fixContributors], | ||||||||||||||
| a11y: false, | ||||||||||||||
| }; | ||||||||||||||
| </script> | ||||||||||||||
| </head> | ||||||||||||||
| <body> | ||||||||||||||
| <section id="abstract"> | ||||||||||||||
| <p> | ||||||||||||||
| CSS Accessibility API Mappings (CSS-AAM) defines how <a class="termref">user agents</a> map <abbr title="Cascading Style Sheets">CSS</abbr> [[CSS]] pseudo-elements and properties to | ||||||||||||||
| platform <a class="termref" data-lt="accessibility API">accessibility application programming interfaces (<abbr title="Application Programming Interfaces">APIs</abbr>)</a>. It | ||||||||||||||
| leverages and extends the [[[core-aam-1.2]]] and the [[[accname-1.2]]] for use with the CSS language. Documenting these mappings promotes interoperable exposure of roles, states, | ||||||||||||||
| properties, and events implemented by accessibility APIs and helps to ensure that this information appears in a manner consistent with author intent. | ||||||||||||||
| </p> | ||||||||||||||
| </section> | ||||||||||||||
| <section id="sotd"> | ||||||||||||||
| <p class="note"> | ||||||||||||||
| <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 | ||||||||||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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?
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||||||||||||||
| the <a href="https://www.w3.org/WAI/about/groups/apawg/">Accessible Platform Architectures Working Group</a>, | ||||||||||||||
| <a href="https://www.w3.org/WAI/about/groups/ariawg/">ARIA Working Group</a>, and the <a href="https://www.w3.org/groups/wg/css/">CSS Working Group</a>. This document is now maintained | ||||||||||||||
| by the <a href="https://www.w3.org/WAI/ARIA/">Accessible Rich Internet Applications Working Group</a>. | ||||||||||||||
| </p> | ||||||||||||||
| </section> | ||||||||||||||
| <section id="intro" class="informative"> | ||||||||||||||
| <h2>Introduction</h2> | ||||||||||||||
| <p>This specification defines how CSS user agents respond to and expose [=role=], [=state=] and [=ARIA/property=] information provided for Web content.</p> | ||||||||||||||
| <section id="intro_aapi"> | ||||||||||||||
| <h3>Accessibility APIs</h3> | ||||||||||||||
| <p><a class="termref">Accessibility APIs</a> covered by this document are:</p> | ||||||||||||||
| <ul> | ||||||||||||||
| <li><abbr title="Microsoft Active Accessibility">MSAA</abbr> with <cite>IAccessible2 1.3</cite> [[IAccessible2]]</li> | ||||||||||||||
| <li><cite>User Interface Automation</cite> [[UI-AUTOMATION]]</li> | ||||||||||||||
| <li><cite>ATK - Accessibility Toolkit</cite> [[ATK]] and <cite>Assistive Technology Service Provider Interface</cite> [[AT-SPI]], referred to hereafter as "ATK/AT-SPI"</li> | ||||||||||||||
| <li><cite>macOS Accessibility Protocol</cite> [[AXAPI]]</li> | ||||||||||||||
| </ul> | ||||||||||||||
| <p> | ||||||||||||||
| If user agent developers need to expose information using other <a class="termref">accessibility APIs</a>, it is recommended that they work closely with the developer of the | ||||||||||||||
| platform where the <abbr title="application programming interface">API</abbr> runs, and assistive technology developers on that platform. | ||||||||||||||
| </p> | ||||||||||||||
| <p> | ||||||||||||||
| For more information regarding <a class="termref">accessibility APIs</a>, refer to <a data-cite="core-aam-1.2/#intro_aapi">section 1.1 Accessibility APIs</a> of the | ||||||||||||||
| [[[core-aam-1.2]]]. | ||||||||||||||
| </p> | ||||||||||||||
| </section> | ||||||||||||||
| </section> | ||||||||||||||
| <section id="conformance"> | ||||||||||||||
| <p>Normative sections provide requirements that user agents and assistive technologies MUST follow for an implementation to conform to this specification.</p> | ||||||||||||||
| <p> | ||||||||||||||
| Non-normative (informative) sections provide information useful to understanding the specification. Such sections may contain examples of recommended practice, but it is not required | ||||||||||||||
| to follow such recommendations in order to conform to this specification. | ||||||||||||||
| </p> | ||||||||||||||
| <section id="deprecated"> | ||||||||||||||
| <h3>Deprecated</h3> | ||||||||||||||
| <p>There are currently no deprecated requirements.</p> | ||||||||||||||
| </section> | ||||||||||||||
| </section> | ||||||||||||||
| <section> | ||||||||||||||
| <h2>Mapping CSS to Accessibility APIs</h2> | ||||||||||||||
| <section id="css-mapping"> | ||||||||||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||
| <h3>General Rules for Exposing WAI-ARIA Semantics</h3> | ||||||||||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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.” There was a problem hiding this comment. Choose a reason for hiding this commentThe 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. |
||||||||||||||
| </section> | ||||||||||||||
| <section id="css-property-mappings"> | ||||||||||||||
| <h3>CSS Property mappings</h3> | ||||||||||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. nit: Title case.
Suggested change
|
||||||||||||||
| </section> | ||||||||||||||
| <section id="css-pseudo-element-mappings"> | ||||||||||||||
| <h3>CSS Pseudo-element mappings</h3> | ||||||||||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. nit: Title case.
Suggested change
|
||||||||||||||
| </section> | ||||||||||||||
| <section id="css-pseudo-element-mappings"> | ||||||||||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||
| <h3>CSS Mapping pseudo-class selectors</h3> | ||||||||||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||
| </section> | ||||||||||||||
| </section> | ||||||||||||||
| </body> | ||||||||||||||
| </html> | ||||||||||||||
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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. 😉