From 843e43a5cdf2b18d6ff71b0541bd4bd3b86d76b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zoe=CC=88=20Bijl?= Date: Wed, 12 Nov 2025 12:13:32 +0900 Subject: [PATCH 1/3] feat: add core-css skeleton --- .github/workflows/css-aam.yml | 70 +++++++++++++++ README.md | 4 + css-aam/.editorconfig | 9 ++ css-aam/README.md | 5 ++ css-aam/biblio.js | 48 ++++++++++ css-aam/index.html | 161 ++++++++++++++++++++++++++++++++++ 6 files changed, 297 insertions(+) create mode 100644 .github/workflows/css-aam.yml create mode 100644 css-aam/.editorconfig create mode 100644 css-aam/README.md create mode 100644 css-aam/biblio.js create mode 100644 css-aam/index.html diff --git a/.github/workflows/css-aam.yml b/.github/workflows/css-aam.yml new file mode 100644 index 000000000..176336f92 --- /dev/null +++ b/.github/workflows/css-aam.yml @@ -0,0 +1,70 @@ +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_HTML_AAM }} + W3C_WG_DECISION_URL: https://lists.w3.org/Archives/Public/public-aria-admin/2018Sep/0011.html + # W3C_NOTIFICATIONS_CC: "${{ secrets.CC }}" + 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 aria.gh/aria/css-aam/** 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 diff --git a/README.md b/README.md index 6e1959fdb..e106e49d8 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,10 @@ This repository contains the main deliverable of the ARIA Working Group, Accessi * [Spec](core-aam/index.html) * [Editor's Draft](https://w3c.github.io/core-aam/) * [Issue Repository](https://github.com/w3c/core-aam) +* CSS Accessibility API Mappings (css-aam) + * [Spec](css-aam/index.html) + * [Editor's Draft](https://w3c.github.io/css-aam/) + * [Issue Repository](https://github.com/w3c/css-aam) * HTML Accessibility API Mappings (html-aam) * [Spec](html-aam/index.html) * [Editor's Draft](https://w3c.github.io/html-aam/) diff --git a/css-aam/.editorconfig b/css-aam/.editorconfig new file mode 100644 index 000000000..9c61627fa --- /dev/null +++ b/css-aam/.editorconfig @@ -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 diff --git a/css-aam/README.md b/css-aam/README.md new file mode 100644 index 000000000..46697b1a9 --- /dev/null +++ b/css-aam/README.md @@ -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/). diff --git a/css-aam/biblio.js b/css-aam/biblio.js new file mode 100644 index 000000000..ccfbc2dac --- /dev/null +++ b/css-aam/biblio.js @@ -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", + }, +}; diff --git a/css-aam/index.html b/css-aam/index.html new file mode 100644 index 000000000..489ad1a05 --- /dev/null +++ b/css-aam/index.html @@ -0,0 +1,161 @@ + + + + + CSS Accessibility API Mappings 1.0 + + + + + + + + +
+

+ CSS Accessibility API Mappings (CSS-AAM) defines how user agents map CSS [[CSS]] pseudo-elements and properties to + platform accessibility application programming interfaces (APIs). 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. +

+
+
+

+ This document is subject to change without notice. +

+

+ This document was initially developed by and with the approval of the CSS Accessibility Task Force, a collaboration of + the Accessible Platform Architectures Working Group, + ARIA Working Group, and the CSS Working Group. This document is now maintained + by the Accessible Rich Internet Applications Working Group. +

+
+
+

Introduction

+

This specification defines how CSS user agents respond to and expose [=role=], [=state=] and [=ARIA/property=] information provided for Web content.

+
+

Accessibility APIs

+

Accessibility APIs covered by this document are:

+
    +
  • MSAA with IAccessible2 1.3 [[IAccessible2]]
  • +
  • User Interface Automation [[UI-AUTOMATION]]
  • +
  • ATK - Accessibility Toolkit [[ATK]] and Assistive Technology Service Provider Interface [[AT-SPI]], referred to hereafter as "ATK/AT-SPI"
  • +
  • macOS Accessibility Protocol [[AXAPI]]
  • +
+

+ If user agent developers need to expose information using other accessibility APIs, it is recommended that they work closely with the developer of the + platform where the API runs, and assistive technology developers on that platform. +

+

+ For more information regarding accessibility APIs, refer to section 1.1 Accessibility APIs of the + [[[core-aam-1.2]]]. +

+
+
+
+

Normative sections provide requirements that user agents and assistive technologies MUST follow for an implementation to conform to this specification.

+

+ 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. +

+
+

Deprecated

+

There are currently no deprecated requirements.

+
+
+
+

Mapping CSS to Accessibility APIs

+
+

General Rules for Exposing WAI-ARIA Semantics

+
+
+ + From 9187e517422b0dbd0a0bc646fa655b4038e56bee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zoe=CC=88=20Bijl?= Date: Thu, 13 Nov 2025 11:07:42 +0900 Subject: [PATCH 2/3] chore: update css-aam github workflow MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit based on Daniel’s feedback --- .github/workflows/css-aam.yml | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/.github/workflows/css-aam.yml b/.github/workflows/css-aam.yml index 176336f92..2c4236296 100644 --- a/.github/workflows/css-aam.yml +++ b/.github/workflows/css-aam.yml @@ -34,18 +34,17 @@ jobs: - name: Copy common run: | mkdir aria/css-aam/common - cp -r aria/common/** 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_HTML_AAM }} - W3C_WG_DECISION_URL: https://lists.w3.org/Archives/Public/public-aria-admin/2018Sep/0011.html - # W3C_NOTIFICATIONS_CC: "${{ secrets.CC }}" - W3C_BUILD_OVERRIDE: | - specStatus: WD + # 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 @@ -59,7 +58,7 @@ jobs: name: css-aam - name: Copy files run: | - cp -r aria.gh/aria/css-aam/** css-aam/ + cp -r index.html css-aam/ - name: Push new files to child repo run: | git config user.name "github-actions[bot]" From 755ad0d449d98daf3297273d836865d70de83b4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zoe=CC=88=20Bijl?= Date: Thu, 13 Nov 2025 16:24:34 +0900 Subject: [PATCH 3/3] chore: implement feedback based on TPAC session --- css-aam/index.html | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/css-aam/index.html b/css-aam/index.html index 489ad1a05..d65ff030d 100644 --- a/css-aam/index.html +++ b/css-aam/index.html @@ -33,7 +33,6 @@ { name: "Zoë Bijl", company: "Invited Expert", mailto: "editor@moiety.me", w3cid: 74040 }, { name: "James Teh", company: "Mozilla", companyURL: "https://mozilla.org/" }, ], - formerEditors: [{ name: "Ian Pouncy", company: "TetraLogical", companyURL: "https://tetralogical.com/" }], // 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. @@ -153,9 +152,18 @@

Deprecated

Mapping CSS to Accessibility APIs

-
+

General Rules for Exposing WAI-ARIA Semantics

+
+

CSS Property mappings

+
+
+

CSS Pseudo-element mappings

+
+
+

CSS Mapping pseudo-class selectors

+