12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Ensure all text files do not accidentally become a CRLF file.
2 | # Agreed upon during 5 August 2015 PF Editors concall.
3 | # To override or prevent this behavior see the following sections.
4 | * text eol=lf
5 |
6 | # Files that will always have CRLF line endings. Example:
7 | # my-special-spec.html eol=crlf
8 |
9 | # Ensure non-text files don't get accidentally swept up by above.
10 | *.png binary
11 | *.jpg binary
12 | *.zargo binary
13 |
--------------------------------------------------------------------------------
/accname/.gitattributes:
--------------------------------------------------------------------------------
1 | # Ensure all text files do not accidentally become a CRLF file.
2 | # Agreed upon during 5 August 2015 PF Editors concall.
3 | # To override or prevent this behavior see the following sections.
4 | * text eol=lf
5 |
6 | # Files that will always have CRLF line endings. Example:
7 | # my-special-spec.html eol=crlf
8 |
9 | # Ensure non-text files don't get accidentally swept up by above.
10 | *.png binary
11 | *.jpg binary
12 | *.zargo binary
13 |
--------------------------------------------------------------------------------
/core-aam/.gitattributes:
--------------------------------------------------------------------------------
1 | # Ensure all text files do not accidentally become a CRLF file.
2 | # Agreed upon during 5 August 2015 PF Editors concall.
3 | # To override or prevent this behavior see the following sections.
4 | * text eol=lf
5 |
6 | # Files that will always have CRLF line endings. Example:
7 | # my-special-spec.html eol=crlf
8 |
9 | # Ensure non-text files don't get accidentally swept up by above.
10 | *.png binary
11 | *.jpg binary
12 | *.zargo binary
13 |
--------------------------------------------------------------------------------
/dpub-aam/.gitattributes:
--------------------------------------------------------------------------------
1 | # Ensure all text files do not accidentally become a CRLF file.
2 | # Agreed upon during 5 August 2015 PF Editors concall.
3 | # To override or prevent this behavior see the following sections.
4 | * text eol=lf
5 |
6 | # Files that will always have CRLF line endings. Example:
7 | # my-special-spec.html eol=crlf
8 |
9 | # Ensure non-text files don't get accidentally swept up by above.
10 | *.png binary
11 | *.jpg binary
12 | *.zargo binary
13 |
--------------------------------------------------------------------------------
/svg-aam/.gitattributes:
--------------------------------------------------------------------------------
1 | # Ensure all text files do not accidentally become a CRLF file.
2 | # Agreed upon during 5 August 2015 PF Editors concall.
3 | # To override or prevent this behavior see the following sections.
4 | * text eol=lf
5 |
6 | # Files that will always have CRLF line endings. Example:
7 | # my-special-spec.html eol=crlf
8 |
9 | # Ensure non-text files don't get accidentally swept up by above.
10 | *.png binary
11 | *.jpg binary
12 | *.zargo binary
13 |
--------------------------------------------------------------------------------
/dpub-aria/.gitattributes:
--------------------------------------------------------------------------------
1 | # Ensure all text files do not accidentally become a CRLF file.
2 | # Agreed upon during 5 August 2015 PF Editors concall.
3 | # To override or prevent this behavior see the following sections.
4 | * text eol=lf
5 |
6 | # Files that will always have CRLF line endings. Example:
7 | # my-special-spec.html eol=crlf
8 |
9 | # Ensure non-text files don't get accidentally swept up by above.
10 | *.png binary
11 | *.jpg binary
12 | *.zargo binary
13 |
--------------------------------------------------------------------------------
/graphics-aam/.gitattributes:
--------------------------------------------------------------------------------
1 | # Ensure all text files do not accidentally become a CRLF file.
2 | # Agreed upon during 5 August 2015 PF Editors concall.
3 | # To override or prevent this behavior see the following sections.
4 | * text eol=lf
5 |
6 | # Files that will always have CRLF line endings. Example:
7 | # my-special-spec.html eol=crlf
8 |
9 | # Ensure non-text files don't get accidentally swept up by above.
10 | *.png binary
11 | *.jpg binary
12 | *.zargo binary
13 |
--------------------------------------------------------------------------------
/graphics-aria/.gitattributes:
--------------------------------------------------------------------------------
1 | # Ensure all text files do not accidentally become a CRLF file.
2 | # Agreed upon during 5 August 2015 PF Editors concall.
3 | # To override or prevent this behavior see the following sections.
4 | * text eol=lf
5 |
6 | # Files that will always have CRLF line endings. Example:
7 | # my-special-spec.html eol=crlf
8 |
9 | # Ensure non-text files don't get accidentally swept up by above.
10 | *.png binary
11 | *.jpg binary
12 | *.zargo binary
13 |
--------------------------------------------------------------------------------
/common/acknowledgements.html:
--------------------------------------------------------------------------------
1 |
2 |
Acknowledgments
3 |
The following people contributed to the development of this document.
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.github/workflows/RFC-2119-usage.yml:
--------------------------------------------------------------------------------
1 | name: "Check if PR introduces errant RFC-2119"
2 | on:
3 | pull_request:
4 | types: [opened, edited]
5 | paths:
6 | - index.html
7 |
8 | jobs:
9 | check_pr:
10 | runs-on: ubuntu-latest
11 | steps:
12 | - name: Check PR
13 | uses: JJ/github-pr-contains-action@releases/v10
14 | with:
15 | github-token: ${{github.token}}
16 | diffDoesNotContain: " must | must not | shall | shall not | should | should not | may"
17 |
--------------------------------------------------------------------------------
/validator-tests/listbox-group-children-must-be-option-vnu.json:
--------------------------------------------------------------------------------
1 | {
2 | "messages": [
3 | {
4 | "type": "info",
5 | "url": "file:/home/spectranaut/w3c/aria/validator-tests/listbox-group-children-must-be-option.html",
6 | "lastLine": 28,
7 | "lastColumn": 8,
8 | "firstColumn": 5,
9 | "subType": "warning",
10 | "message": "Empty heading.",
11 | "extract": "ail\">\n \n",
12 | "hiliteStart": 10,
13 | "hiliteLength": 4
14 | }
15 | ]
16 | }
17 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/question-or-concern.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Question or Concern
3 | about: If the specification is unclear or you think there might be a mistake in the
4 | specification.
5 | title: ''
6 | labels: ''
7 | assignees: ''
8 |
9 | ---
10 |
11 | # Describe your concern
12 |
13 | # Link to the version of the specification or documentation you were looking at at.
14 |
15 | Link to documentation:
16 |
17 | Does the issue exists in [the editors draft](https://w3c.github.io/aria/) (the editors draft is the most recent draft of the specification)?
18 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/editorial.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Editorial
3 | about: Does this issue require only an editorial change? For example, changing an
4 | example, note, spelling, grammar, or related to publishing or git repository maintance.
5 | title: ''
6 | labels: editorial
7 | assignees: ''
8 |
9 | ---
10 |
11 | # Describe the change
12 |
13 | # Link to the version of the specification or documentation you were looking at
14 |
15 | Link to documentation:
16 |
17 | Does the issue exists in [the editors draft](https://w3c.github.io/aria/) (the editors draft is the most recent draft of the specification)?
18 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/normative-change.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Proposed Feature
3 | about: If you are submitting a bug or a feature request that will require a normative
4 | change to the specification
5 | title: ''
6 | labels: ''
7 | assignees: ''
8 |
9 | ---
10 |
11 | # Description of bug or feature request
12 |
13 | Provide description here.
14 |
15 | ## Will this require a change to [CORE-AAM](https://w3c.github.io/core-aam/)?
16 |
17 | If unknown, leave blank. If relevant, link bug.
18 |
19 | ## Will this require a change to the [ARIA authoring guide](https://w3c.github.io/aria-practices/)?
20 |
21 | If unknown, leave blank. If relevant, link bug.
22 |
--------------------------------------------------------------------------------
/.github/workflows/roleInfoCheck.yml:
--------------------------------------------------------------------------------
1 | name: roleInfo PR check
2 |
3 | on:
4 | pull_request:
5 | branches:
6 | - main
7 | paths:
8 | - index.html
9 |
10 | jobs:
11 | roleInfo:
12 | runs-on: ubuntu-latest
13 | steps:
14 | - uses: actions/checkout@v6
15 | - name: Use Node.js
16 | uses: actions/setup-node@v6
17 | with:
18 | node-version: "latest"
19 | - run: npm i linkedom prettier@3.6.0
20 | - run: node ./common/script/buildRoleInfo.js > ./common/script/roleInfo.js
21 | - run: npx prettier --write --print-width 200 ./common/script/roleInfo.js
22 | - run: git diff --exit-code
23 |
--------------------------------------------------------------------------------
/common/acknowledgements/funders.html:
--------------------------------------------------------------------------------
1 |
2 |
Enabling funders
3 |
This publication has been funded in part with U.S. Federal funds from the Department of Education, National Institute on Disability, Independent Living, and Rehabilitation Research (NIDILRR), initially under contract number ED-OSE-10-C-0067, then under contract number HHSP23301500054C, and now under HHS75P00120P00168. The content of this publication does not necessarily reflect the views or policies of the U.S. Department of Education, nor does mention of trade names, commercial products, or organizations imply endorsement by the U.S. Government.
4 |
5 |
--------------------------------------------------------------------------------
/html-aam/README.md:
--------------------------------------------------------------------------------
1 | # HTML-AAM
2 | HTML Accessibility API Mappings (html-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/)). It is the basis of the [Editor's Draft version of the specification](https://w3c.github.io/html-aam/). You can also compare against [the most recent published version](https://www.w3.org/TR/html-aam-1.0/).
3 |
4 | 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/).
5 |
6 |
--------------------------------------------------------------------------------
/validator-tests/listbox-aria-expanded-not-supported.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | aria-expanded is no longer a supported property on role listbox.
4 |
5 |
10 |
11 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/common/script/utility.js:
--------------------------------------------------------------------------------
1 | /* Utility functions */
2 |
3 | // Change the authors credit to mapping contributors credit
4 | // add postProcess: [ addPlatformMaintainers ] in respecConfig
5 | // In AAMs to change Authors to Platform Mapping Maintainers in the header
6 |
7 | function addPlatformMaintainers() {
8 | document.querySelectorAll("div.head dt").forEach(function (node) {
9 | if (node.textContent.trim() == "Authors:")
10 | node.textContent = "Platform Mapping Maintainers:";
11 | });
12 | }
13 | function fixContributors() {
14 | document.querySelectorAll("#gh-contributors li a").forEach(function (node) {
15 | if (node.textContent.indexOf("[bot]") > 0)
16 | node.parentElement.parentElement.removeChild(node.parentElement);
17 | });
18 | }
19 |
--------------------------------------------------------------------------------
/svg-aam/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Specification 'svg-aam'
3 |
4 | This is the repository for SVG Accessibility API Mappings (svg-aam). It is the basis of the [Editor's Draft version of the specification](https://w3c.github.io/svg-aam/).
5 |
6 | You can also compare against [the most recent published version](https://www.w3.org/TR/svg-aam-1.0/).
7 |
8 | This specification is part of the [ARIA suite](https://www.w3.org/WAI/ARIA/deliverables), and uses the same code structure and build tools as other ARIA suites. General information about editing specifications is in the [main ARIA repository readme](https://github.com/w3c/aria/).
9 |
10 | Publication of the specification is now the responsibility of the SVG working group. The best way to comment on the specification is by filing an issue in this repository.
--------------------------------------------------------------------------------
/validator-tests/scrollbar-role-aria-controls.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Authors MUST set the aria-controls attribute on the scrollbar element to reference the scrollable area it controls.
4 |
5 |
6 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/validator-tests/roledescription-prohibited.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | aria-roledescription attribute prohibited on generic role
5 |
6 |
7 |
8 |
9 |
10 |
14 |
15 |
generic role
16 |
"generic" role with aria-roledescription: fail
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/admin/agendas/2021-03-18.md:
--------------------------------------------------------------------------------
1 | ### ARIA Working Group Teleconference - 2021-03-18
2 |
3 | ### Call Agenda
4 |
5 | * [New Issue Triage](https://github.com/search?l=&q=is%3Aopen+is%3Aissue+repo%3Aw3c%2Faria+created%3A%3E%3D2021-03-11+repo%3Aw3c%2Faria+repo%3Aw3c%2Faccname+repo%3Aw3c%2Fcore-aam&type=Issues)
6 | * [New PR Triage](https://github.com/search?l=&q=is%3Aopen+is%3Apr+repo%3Aw3c%2Faria+created%3A%3E%3D2021-03-11+repo%3Aw3c%2Faria+repo%3Aw3c%2Faccname+repo%3Aw3c%2Fcore-aam&type=Issues)
7 | * [Meaty topic for next week](https://github.com/search?q=is%3Aopen+repo%3Aw3c%2Faria+repo%3Aw3c%2Faria+repo%3Aw3c%2Faccname+repo%3Aw3c%2Fcore-aam+label%3Adeep-dive&type=Issues)
8 | * [1.3 triage](https://github.com/w3c/aria/issues?q=is%3Aopen+is%3Aissue+milestone%3A%22ARIA+1.3%22+sort%3Acreated-asc)
9 |
10 | ### Previous Meeting Minutes
11 | https://www.w3.org/2021/03/11-aria-minutes.html
12 |
--------------------------------------------------------------------------------
/validator-tests/heading-role-must-have-level.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Element with HEADING role MUST use the aria-level attribute to indicate the proper nesting level.
4 |
5 |
6 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/common/script/buildRoleInfo.js:
--------------------------------------------------------------------------------
1 | import * as fs from "node:fs";
2 | import { parseHTML } from "linkedom";
3 |
4 | const { document } = parseHTML(fs.readFileSync("../aria/index.html").toString());
5 |
6 | // mock functions for aria.js
7 | let updateReferences = () => {};
8 | document.URL = "";
9 |
10 | const script = fs.readFileSync("./common/script/aria.js").toString();
11 |
12 | const scriptWithoutRespecUI = script.substring(0, script.indexOf("require(")); // TODO: HACK remove everything past "require(" (NOTE: if we went only with this SSG approach, we could remove that end of aria.js and this hack)
13 |
14 | // HACK call ariaAttributeReferences() and log out roleInfo with prefix
15 | const scriptAddition = 'ariaAttributeReferences();console.log("/* This file is generated - do not modify */ var roleInfo = "+JSON.stringify(roleInfo, null, 2));';
16 |
17 | // HACK: eval!
18 | eval(scriptWithoutRespecUI + scriptAddition);
19 |
--------------------------------------------------------------------------------
/validator-tests/img-role-must-have-name.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Element with IMG role MUST have accessible name using the aria-label or aria-labelledby attribute
4 |
5 |
6 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
Image 3 description
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
Image 5 description">
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/documentation/archive/unresolved/Text Separation attribute proposals.md:
--------------------------------------------------------------------------------
1 | **Editors Note.** Archived wiki page https://github.com/w3c/aria/wiki/Text-Separation-attribute-proposals, last edited Dec 5, 2018.
2 |
3 |
4 | # Text Separation attribute proposals
5 |
6 | From #699 These are the current text separation proposals
7 |
8 | ## aria-textseparation - https://github.com/w3c/aria/issues/699#issuecomment-415951739
9 | * none
10 | * textnode
11 | * space
12 | * leadingspace
13 | * trailingspace
14 | * inline
15 | * block
16 |
17 | ## aria-whitespace - https://github.com/w3c/aria/issues/699#issuecomment-416096296
18 | * space
19 | * line-break
20 | * paragraph-break
21 | * none
22 | * inherit
23 |
24 | ## aria-textseparation - https://github.com/w3c/aria/issues/699#issuecomment-420878301
25 | *
26 |
27 | ## Add on wrapper rather than node - https://github.com/w3c/aria/issues/699#issuecomment-425131510
28 |
29 | ## 2 token value? - https://github.com/w3c/aria/issues/699#issuecomment-427040820
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | Contributions to this repository are intended to become part of Recommendation-track documents governed by the
2 | [W3C Patent Policy](https://www.w3.org/Consortium/Patent-Policy-20040205/) and
3 | [Document License](https://www.w3.org/Consortium/Legal/copyright-documents). To make substantive contributions to specifications, you must either participate
4 | in the relevant W3C Working Group or make a non-member patent licensing commitment.
5 |
6 | If you are not the sole contributor to a contribution (pull request), please identify all
7 | contributors in the pull request comment.
8 |
9 | To add a contributor (other than yourself, that's automatic), mark them one per line as follows:
10 |
11 | ```
12 | +@github_username
13 | ```
14 |
15 | If you added a contributor by mistake, you can remove them in a comment with:
16 |
17 | ```
18 | -@github_username
19 | ```
20 |
21 | If you are making a pull request on behalf of someone else but you had no part in designing the
22 | feature, you can remove yourself with the above syntax.
23 |
--------------------------------------------------------------------------------
/.github/labeler.yml:
--------------------------------------------------------------------------------
1 | spec:aria:
2 | - changed-files:
3 | - any-glob-to-any-file: 'index.html'
4 |
5 | spec:accname:
6 | - changed-files:
7 | - any-glob-to-any-file: 'accname/**'
8 |
9 | spec:core-aam:
10 | - changed-files:
11 | - any-glob-to-any-file: 'core-aam/**'
12 |
13 | spec:dpub-aam:
14 | - changed-files:
15 | - any-glob-to-any-file: 'dpub-aam/**'
16 |
17 | spec:dpub-aria:
18 | - changed-files:
19 | - any-glob-to-any-file: 'dpub-aria/**'
20 |
21 | spec:graphics-aam:
22 | - changed-files:
23 | - any-glob-to-any-file: 'graphics-aam/**'
24 |
25 | spec:graphics-aria:
26 | - changed-files:
27 | - any-glob-to-any-file: 'graphics-aria/**'
28 |
29 | spec:html-aam:
30 | - changed-files:
31 | - any-glob-to-any-file: 'html-aam/**'
32 |
33 | spec:svg-aam:
34 | - changed-files:
35 | - any-glob-to-any-file: 'svg-aam/**'
36 |
37 | spec:mathml-aam:
38 | - changed-files:
39 | - any-glob-to-any-file: 'mathml-aam/**'
40 |
41 | spec:pdf-aam:
42 | - changed-files:
43 | - any-glob-to-any-file: 'pdf-aam/**'
44 |
--------------------------------------------------------------------------------
/.github/workflows/roleInfo.yml:
--------------------------------------------------------------------------------
1 | name: roleInfo update
2 |
3 | on:
4 | push:
5 | branches:
6 | - main
7 |
8 | jobs:
9 | roleInfo:
10 | runs-on: ubuntu-latest
11 | steps:
12 | - name: Checkout
13 | uses: actions/checkout@v6
14 | with:
15 | fetch-depth: 0 # Needed to compare with origin/main
16 | token: ${{ secrets.W3CGRUNTBOT_TOKEN }}
17 | - name: Use Node.js
18 | uses: actions/setup-node@v6
19 | with:
20 | node-version: "latest"
21 | - run: npm i linkedom prettier@3.6.0
22 | - run: node ./common/script/buildRoleInfo.js > ./common/script/roleInfo.js
23 | - run: npx prettier --write --print-width 200 ./common/script/roleInfo.js
24 | - run: git config user.name "github-actions[bot]"
25 | - run: git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
26 | - run: git add ./common/script/roleInfo.js
27 | - run: |
28 | git diff-index --quiet HEAD ./common/script/roleInfo.js || git commit -m'chore: update roleInfo.js'
29 | - run: git push
30 |
--------------------------------------------------------------------------------
/.github/pull_request_template.md:
--------------------------------------------------------------------------------
1 | Closes #????
2 |
3 | Describe Change Here!
4 |
5 | And a few other todo items (delete this section after performing them):
6 | * [ ] For every spec that this PR edits, please add the appropriate `spec:` label. If you don't have privileges to do this, editors will do it for you.
7 | * [ ] If the change is [editorial](https://github.com/w3c/aria/blob/main/documentation/process.md#editorial-changes), please add "Editorial:" at the start of your PR name, and delete the "Test, Documentation and Implementation tracking" section below.
8 |
9 | # Test, Documentation and Implementation tracking
10 | Once this PR has been reviewed and has consensus from the working group, tests should be written and issues should be opened on browsers. Add N/A and check when not applicable.
11 |
12 | * [ ] "author MUST" tests:
13 | * [ ] "user agent MUST" tests:
14 | * [ ] Browser implementations (link to issue or commit):
15 | * WebKit:
16 | * Gecko:
17 | * Blink:
18 | * [ ] ACT review?
19 | * [ ] Does this need AT implementations?
20 | * [ ] Related APG Issue/PR:
21 | * [ ] MDN Issue/PR:
22 |
--------------------------------------------------------------------------------
/netlify.toml:
--------------------------------------------------------------------------------
1 | # netlify.toml
2 | # Basic configuration for a Netlify deployment
3 | [build]
4 | publish = "" # Directory to publish
5 | command = "npx respec -s index.html -o index.html --localhost; npx respec -s accname/index.html -o accname/index.html --localhost; npx respec -s core-aam/index.html -o core-aam/index.html --localhost; npx respec -s dpub-aam/index.html -o dpub-aam/index.html --localhost; npx respec -s dpub-aria/index.html -o dpub-aria/index.html --localhost; npx respec -s graphics-aam/index.html -o graphics-aam/index.html --localhost; npx respec -s graphics-aria/index.html -o graphics-aria/index.html --localhost; npx respec -s svg-aam/index.html -o svg-aam/index.html --localhost; npx respec -s mathml-aam/index.html -o mathml-aam/index.html --localhost"
6 |
7 | [[redirects]]
8 | from = "/*"
9 | to = "/index.html"
10 | status = 200
11 |
12 | [context.production.environment]
13 | NODE_ENV = "production"
14 |
15 | [context.deploy-preview]
16 | NODE_ENV = "Deploy"
17 | command = "bash ./common/script/pr-preview.sh"
18 |
19 | [context.branch-deploy]
20 | command = "bash ./common/script/pr-preview.sh"
21 |
--------------------------------------------------------------------------------
/validator-tests/must-have-owned-elements.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Must Have Required Owned Elements
4 |
5 |
14 |
15 |
16 |
\"gener",
22 | "hiliteStart": 10,
23 | "hiliteLength": 101
24 | },
25 | {
26 | "type": "info",
27 | "url": "file:/home/spectranaut/w3c/aria/validator-tests/roledescription-prohibited.html",
28 | "lastLine": 2,
29 | "firstLine": 1,
30 | "lastColumn": 6,
31 | "firstColumn": 16,
32 | "subType": "warning",
33 | "message": "Consider adding a “lang” attribute to the “html” start tag to declare the language of this document.",
34 | "extract": "TYPE html>\n\n
2 |
3 | Elements with role menuitem must be contained in, or owned by, an element with the role menu or menubar.
4 |
5 |
6 |
10 |
11 |
12 |
Menu item 1
13 |
Menu item 2
14 |
15 |
16 |
Menu item 3
17 |
Menu item 4
18 |
19 |
20 |
21 |
22 |
23 |
Menu item 5
24 |
Menu item 6
25 |
26 |
27 |
28 |
Menu item 7
29 |
Menu item 8
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
Menu item 9
38 |
Menu item 10
39 |
40 |
41 |
42 |
43 |
44 |
45 |
Menu item 11
46 |
Menu item 12
47 |
48 |
49 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/validator-tests/option-owned-by-listbox.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Elements with role option must be contained in, or owned by, an element with the role listbox or group within a listbox.
4 |
5 |
6 |
10 |
11 |
12 |
Option 1
13 |
Option 2
14 |
15 |
16 |
Option 3
17 |
Option 4
18 |
19 |
20 |
21 |
22 |
23 |
Option 5
24 |
Option 6
25 |
26 |
27 |
28 |
29 |
Option 7
30 |
Option 8
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
Option 9
40 |
Option 10
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
Option 11
49 |
Option 12
50 |
51 |
52 |
53 |
54 |
55 |
56 |
--------------------------------------------------------------------------------
/validator-tests/dialog-must-have-name-axe.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "description": "Ensures every ARIA dialog and alertdialog node has an accessible name",
4 | "help": "ARIA dialog and alertdialog nodes should have an accessible name",
5 | "helpUrl": "https://dequeuniversity.com/rules/axe/4.2/aria-dialog-name?application=webdriverjs",
6 | "id": "aria-dialog-name",
7 | "impact": "serious",
8 | "nodes": [
9 | {
10 | "all": [],
11 | "any": [
12 | {
13 | "data": null,
14 | "id": "aria-label",
15 | "impact": "serious",
16 | "message": "aria-label attribute does not exist or is empty",
17 | "relatedNodes": []
18 | },
19 | {
20 | "data": null,
21 | "id": "aria-labelledby",
22 | "impact": "serious",
23 | "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty",
24 | "relatedNodes": []
25 | },
26 | {
27 | "data": {
28 | "messageKey": "noAttr"
29 | },
30 | "id": "non-empty-title",
31 | "impact": "serious",
32 | "message": "Element has no title attribute",
33 | "relatedNodes": []
34 | }
35 | ],
36 | "failureSummary": "Fix any of the following:\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute",
37 | "html": "
bar
",
38 | "impact": "serious",
39 | "none": [],
40 | "target": [
41 | "#dialog-1"
42 | ]
43 | }
44 | ],
45 | "tags": [
46 | "cat.aria",
47 | "best-practice"
48 | ]
49 | }
50 | ]
51 |
--------------------------------------------------------------------------------
/html-aam/biblio.js:
--------------------------------------------------------------------------------
1 | respecConfig.localBiblio = {
2 | ...respecConfig.localBiblio,
3 |
4 | // Correct reference for ATK
5 | "ATK": {
6 | "href": "https://gitlab.gnome.org/GNOME/at-spi2-core/",
7 | "title": "ATK - Accessibility Toolkit",
8 | "publisher": "The GNOME Project"
9 | },
10 | "AT-SPI": {
11 | "href": "https://gitlab.gnome.org/GNOME/at-spi2-core/",
12 | "title": "Assistive Technology Service Provider Interface",
13 | "publisher": "The GNOME Project"
14 | },
15 | // Custom reference for the Mac OSX Accessibility API
16 | "AXAPI": {
17 | "href": "https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Protocols/NSAccessibility_Protocol/index.html",
18 | "title": "The Mac OS X Accessibility Protocol Mac OS 10.10",
19 | "publisher": "Apple Corporation"
20 | },
21 | "EPUB-SSV": {
22 | "href": "http://www.idpf.org/epub/vocab/structure/",
23 | "title": "EPUB Structural Semantics Vocabulary",
24 | "publisher": "IDPF"
25 | },
26 | // Custom reference for GTK+ (GNOME GUI Toolkit) (not available from SpecRef biblio)
27 | "GTK": {
28 | "href": "https://developer.gnome.org/gtk3/stable/",
29 | "title": "GTK+ 3 Reference Manual",
30 | "publisher": "The GNOME Project"
31 | },
32 | "MSAA": {
33 | "href": "https://msdn.microsoft.com/en-us/library/ms697707.aspx",
34 | "title": "Microsoft Active Accessibility (MSAA) 2.0",
35 | "publisher": "Microsoft Corporation"
36 | },
37 | "UI-AUTOMATION": {
38 | "href": "https://msdn.microsoft.com/en-us/library/ee684009%28v=vs.85%29.aspx",
39 | "title": "UI Automation",
40 | "publisher": "Microsoft Corporation"
41 | },
42 | // Custom reference for UIA Express (not available from SpecRef biblio).
43 | "UIA-EXPRESS": {
44 | "href": "https://msdn.microsoft.com/en-us/library/windows/desktop/dd561898%28v=vs.85%29.aspx",
45 | "title": "The IAccessibleEx Interface",
46 | "publisher": "Microsoft Corporation"
47 | },
48 | };
49 |
--------------------------------------------------------------------------------
/common/script/participants.js:
--------------------------------------------------------------------------------
1 | function getParticipants() {
2 | // Define the W3C's group ID
3 | const GROUP_ID = "83726";
4 |
5 | // Define the base URL for the API, using the group ID
6 | const BASE_URL = `https://api.w3.org/groups/${GROUP_ID}`;
7 |
8 | // Define the ID of the list element where the user information will be inserted
9 | const LIST_ID = "ack_group";
10 |
11 | async function getUsersInfo() {
12 | const response = await fetch(`${BASE_URL}/users`);
13 | const data = await response.json();
14 | const users = data._links.users;
15 |
16 | const usersInfo = await Promise.all(users.map(async (user) => {
17 | const affiliation = await getAffiliation(user);
18 | return { title: user.title, affiliation: affiliation };
19 | }));
20 |
21 | return usersInfo;
22 | }
23 |
24 | async function getAffiliation(user) {
25 | // Send a GET request to the affiliations endpoint of the user
26 | const response = await fetch(user.href + "/affiliations/");
27 |
28 | // Fetch the JSON data from the response
29 | const affiliations = await response.json();
30 |
31 | // Extract the title of the first affiliation
32 | const affiliation = affiliations._links.affiliations[0].title;
33 |
34 | // Return the title of the affiliation
35 | return affiliation;
36 | }
37 | async function insertUsersInfoIntoDocument() {
38 | const usersInfo = await getUsersInfo();
39 | const usersList = document.querySelector(`#${LIST_ID} ul`);
40 | const fragment = document.createDocumentFragment();
41 |
42 | usersInfo.forEach(user => {
43 | const li = document.createElement("li");
44 | li.textContent = `${user.title} (${user.affiliation})`;
45 | fragment.appendChild(li);
46 | });
47 |
48 | usersList.appendChild(fragment);
49 | }
50 |
51 | insertUsersInfoIntoDocument();
52 | }
53 |
--------------------------------------------------------------------------------
/validator-tests/listbox-group-children-must-be-option.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | In the context of a listbox, for example, the children of a group element must be option elements.
4 |
5 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
--------------------------------------------------------------------------------
/validator-tests/errormessage-hidden-removed.html:
--------------------------------------------------------------------------------
1 |
2 | When aria-errormessage is pertinent, authors MUST ensure the content is not hidden so users can navigate to and examine the error message
3 |
4 |
5 |
9 |
10 |
11 |
12 |
54 |
55 |
56 |
57 |
58 |
--------------------------------------------------------------------------------
/validator-tests/menuitemradio-owned-by-menu.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Elements with role menuitemradio must be contained in, or owned by, an element with the role menu or menubar, or by a role group which itself is owned by an element with role menu or menubar.
4 |
5 |
6 |
10 |
11 |
12 |
Menu item radio 1
13 |
Menu item radio 2
14 |
15 |
16 |
Menu item radio 3
17 |
Menu item radio 4
18 |
19 |
20 |
21 |
22 |
23 |
Menu item radio 5
24 |
Menu item radio 6
25 |
26 |
27 |
28 |
29 |
Menu item radio 7
30 |
Menu item radio 8
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
Menu item radio 9
40 |
Menu item radio 10
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
Menu item radio 11
49 |
Menu item radio 12
50 |
51 |
52 |
53 |
54 |
55 |
56 |
--------------------------------------------------------------------------------
/validator-tests/menuitemcheckbox-owned-by-menu.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Elements with role menuitemcheckbox must be contained in, or owned by, an element with the role menu or menubar, or by a role group which itself is owned by an element with role menu or menubar.
4 |
5 |
6 |
10 |
11 |
12 |
A repeating SVG gradient is defined using the
23 | spreadMethod attribute.
24 | A value of repeat causes the color stops
25 | to repeat in the same order, from beginning to end:
26 |
40 |
In contrast, a value of reflect
41 | causes the order and spacing of colors
42 | to alternate in each repeat:
43 |
55 |
Both of these gradients repeat
56 | the sequence of color stops four times,
57 | from left to right.
",
22 | "impact": "serious",
23 | "none": [],
24 | "target": [
25 | "div"
26 | ]
27 | }
28 | ],
29 | "tags": [
30 | "cat.aria",
31 | "wcag2a",
32 | "wcag412"
33 | ]
34 | },
35 | {
36 | "description": "Ensures all elements with a role attribute use a valid value",
37 | "help": "ARIA roles used must conform to valid values",
38 | "helpUrl": "https://dequeuniversity.com/rules/axe/4.3/aria-roles?application=webdriverjs",
39 | "id": "aria-roles",
40 | "impact": "critical",
41 | "nodes": [
42 | {
43 | "all": [],
44 | "any": [],
45 | "failureSummary": "Fix all of the following:\n Role must be one of the valid ARIA roles: generic",
46 | "html": "
\"generic\" role with aria-roledescription: fail
",
47 | "impact": "critical",
48 | "none": [
49 | {
50 | "data": [
51 | "generic"
52 | ],
53 | "id": "invalidrole",
54 | "impact": "critical",
55 | "message": "Role must be one of the valid ARIA roles: generic",
56 | "relatedNodes": []
57 | }
58 | ],
59 | "target": [
60 | "div"
61 | ]
62 | }
63 | ],
64 | "tags": [
65 | "cat.aria",
66 | "wcag2a",
67 | "wcag412"
68 | ]
69 | }
70 | ]
71 |
--------------------------------------------------------------------------------
/common/README.md:
--------------------------------------------------------------------------------
1 | # ARIA Common Files
2 |
3 | [This is the repository for aria-common](https://github.com/w3c/aria-common). It contains files shared by several other ARIA repositories, and copied into those repositories. Note *content must be updated in w3c/aria-common*; changes made in copies are overwritten next time content from this repository is synced.
4 |
5 | Resources in the common files:
6 |
7 | ## Terms
8 |
9 | Most terms are in the main ARIA specification and should be linked to either using special classes (more of this below) or using respec functionality. If you want to add a term scoped across the whole ARIA suite, add it to the ARIA main spec. Only add terms to child specs if their scope is restricted to that particular spec.
10 |
11 |
12 | This includes the terms file and filters it to only output ones that are referenced in that particular specification.
13 |
14 | ## Bibliography
15 |
16 | The Respec processor loads a bibliography called [Specref](https://github.com/tobie/specref). This resource automatically includes most publications that have been published to the W3C Technical Reports page. While it is possible to request additions to this via pull requests, in practice to use references that are not in that database, it is easier to use a [`localBiblio`](https://github.com/w3c/respec/wiki/localBiblio). This allows the Respec configuration to load additional bibliographic entries, structured in the same way as in Specref.
17 |
18 | Many of the supplementary bibliographic entries needed for the ARIA publications are common to several specifications. Therefore the bibliographic entries are all stored in [biblio.js](biblio.js). This is loaded with the other scripts at the top of the file with the following line:
19 |
20 | ```html
21 |
22 | ```
23 |
24 | In the respecConfig, instead of providing the set of bibliographic entries directly, simply reference the object created by that script:
25 |
26 | ```html
27 | localBiblio: biblio,
28 | ```
29 |
30 | ## Images, CSS, and Scripts
31 |
32 | The `common` directory also contains shared images, CSS, and scripts. Some of the scripts extend the Respec formatting processor, and others are meant to be used with the final output version. When a resource is, or is likely to be, shared, put it in the common directory. Resources specific to a particular specification, including overriding CSS, can be placed in the directory for that specification. Use the same sub-directory structure of `img`, `css`, and `script` to help keep files organized.
33 |
--------------------------------------------------------------------------------
/.github/workflows/core-aam.yml:
--------------------------------------------------------------------------------
1 | name: core-aam ED
2 | on:
3 | push:
4 | branches:
5 | - 'main'
6 | paths:
7 | - 'common/**'
8 | - 'core-aam/**'
9 | workflow_dispatch:
10 |
11 | jobs:
12 | dispatch:
13 | runs-on: ubuntu-latest
14 | steps:
15 | - name: Dispatch to core-aam repo
16 | run: |
17 | curl -L -X POST \
18 | -H "Accept: application/vnd.github+json" \
19 | -H "Authorization: Bearer ${{secrets.W3CGRUNTBOT_TOKEN}}" \
20 | -H "X-GitHub-Api-Version: 2022-11-28" \
21 | https://api.github.com/repos/w3c/core-aam/actions/workflows/build-from-monorepo.yaml/dispatches \
22 | -d '{"ref":"gh-pages"}'
23 | update-core-aam:
24 | name: Update Editors Draft and Publish to TR
25 | runs-on: ubuntu-latest
26 | steps:
27 | - name: Checkout monorepo
28 | uses: actions/checkout@v6
29 | with:
30 | ref: main
31 | path: aria
32 | sparse-checkout: |
33 | core-aam
34 | common
35 | - name: Copy common
36 | run: |
37 | mkdir aria/core-aam/common
38 | cp -r aria/common/** aria/core-aam/common/
39 | sed -i 's|\.\./common|common|g' aria/core-aam/index.html
40 | - uses: w3c/spec-prod@v2
41 | with:
42 | TOOLCHAIN: respec
43 | SOURCE: aria/core-aam/index.html
44 | DESTINATION: aria/core-aam/index.html
45 | W3C_ECHIDNA_TOKEN: ${{ secrets.ECHIDNA_TOKEN_CORE_AAM }}
46 | W3C_WG_DECISION_URL: https://lists.w3.org/Archives/Public/public-aria-admin/2018Sep/0011.html
47 | W3C_BUILD_OVERRIDE: |
48 | specStatus: CRD
49 | ARTIFACT_NAME: core-aam
50 | - name: Checkout core-aam repo
51 | uses: actions/checkout@v6
52 | with:
53 | repository: w3c/core-aam
54 | ref: gh-pages
55 | path: core-aam
56 | token: ${{ secrets.W3CGRUNTBOT_TOKEN }}
57 | - uses: actions/download-artifact@v7
58 | with:
59 | name: core-aam
60 | - name: Copy files
61 | run: |
62 | cp -r aria.gh/aria/core-aam/** core-aam/
63 | ls -r core-aam
64 | - name: Push new files to child repo
65 | run: |
66 | git config user.name "github-actions[bot]"
67 | git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
68 | git add .
69 | git commit -m "ED update"
70 | git push origin gh-pages
71 | working-directory: core-aam
72 |
73 |
--------------------------------------------------------------------------------
/validator-tests/combobox-role-associated-popup.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Popup element associated with a combobox must have allowed roles.
4 |
5 |
10 |
11 |
12 |
13 |
Menu i",
11 | "hiliteStart": 10,
12 | "hiliteLength": 49
13 | },
14 | {
15 | "type": "error",
16 | "url": "file:/home/spectranaut/w3c/aria/validator-tests/menuitem-owned-by-menu.html",
17 | "lastLine": 13,
18 | "lastColumn": 49,
19 | "firstColumn": 1,
20 | "message": "An element with “role=menuitem” must be contained in, or owned by, an element with “role=menubar” or “role=menu”.",
21 | "extract": "m 1
\n
Menu i",
22 | "hiliteStart": 10,
23 | "hiliteLength": 49
24 | },
25 | {
26 | "type": "error",
27 | "url": "file:/home/spectranaut/w3c/aria/validator-tests/menuitem-owned-by-menu.html",
28 | "lastLine": 16,
29 | "lastColumn": 51,
30 | "firstColumn": 3,
31 | "message": "An element with “role=menuitem” must be contained in, or owned by, an element with “role=menubar” or “role=menu”.",
32 | "extract": "group\">\n
Menu i",
33 | "hiliteStart": 10,
34 | "hiliteLength": 49
35 | },
36 | {
37 | "type": "error",
38 | "url": "file:/home/spectranaut/w3c/aria/validator-tests/menuitem-owned-by-menu.html",
39 | "lastLine": 17,
40 | "lastColumn": 51,
41 | "firstColumn": 3,
42 | "message": "An element with “role=menuitem” must be contained in, or owned by, an element with “role=menubar” or “role=menu”.",
43 | "extract": "3
\n
Menu i",
44 | "hiliteStart": 10,
45 | "hiliteLength": 49
46 | },
47 | {
48 | "type": "error",
49 | "url": "file:/home/spectranaut/w3c/aria/validator-tests/menuitem-owned-by-menu.html",
50 | "lastLine": 37,
51 | "lastColumn": 51,
52 | "firstColumn": 3,
53 | "message": "An element with “role=menuitem” must be contained in, or owned by, an element with “role=menubar” or “role=menu”.",
54 | "extract": "=\"id1\">\n
Menu i",
55 | "hiliteStart": 10,
56 | "hiliteLength": 49
57 | },
58 | {
59 | "type": "error",
60 | "url": "file:/home/spectranaut/w3c/aria/validator-tests/menuitem-owned-by-menu.html",
61 | "lastLine": 38,
62 | "lastColumn": 52,
63 | "firstColumn": 3,
64 | "message": "An element with “role=menuitem” must be contained in, or owned by, an element with “role=menubar” or “role=menu”.",
65 | "extract": "9
\n
Menu i",
66 | "hiliteStart": 10,
67 | "hiliteLength": 50
68 | },
69 | {
70 | "type": "error",
71 | "url": "file:/home/spectranaut/w3c/aria/validator-tests/menuitem-owned-by-menu.html",
72 | "lastLine": 45,
73 | "lastColumn": 52,
74 | "firstColumn": 3,
75 | "message": "An element with “role=menuitem” must be contained in, or owned by, an element with “role=menubar” or “role=menu”.",
76 | "extract": "=\"id2\">\n
Menu i",
77 | "hiliteStart": 10,
78 | "hiliteLength": 50
79 | },
80 | {
81 | "type": "error",
82 | "url": "file:/home/spectranaut/w3c/aria/validator-tests/menuitem-owned-by-menu.html",
83 | "lastLine": 46,
84 | "lastColumn": 52,
85 | "firstColumn": 3,
86 | "message": "An element with “role=menuitem” must be contained in, or owned by, an element with “role=menubar” or “role=menu”.",
87 | "extract": "1
\n
Menu i",
88 | "hiliteStart": 10,
89 | "hiliteLength": 50
90 | }
91 | ]
92 | }
93 |
--------------------------------------------------------------------------------
/validator-tests/errormessage-hidden-removed-axe.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "description": "Ensures all ARIA attributes have valid values",
4 | "help": "ARIA attributes must conform to valid values",
5 | "helpUrl": "https://dequeuniversity.com/rules/axe/4.3/aria-valid-attr-value?application=webdriverjs",
6 | "id": "aria-valid-attr-value",
7 | "impact": "critical",
8 | "nodes": [
9 | {
10 | "all": [
11 | {
12 | "data": [
13 | "id-message-1"
14 | ],
15 | "id": "aria-errormessage",
16 | "impact": "critical",
17 | "message": "aria-errormessage value `id-message-1` must use a technique to announce the message (e.g., aria-live, aria-describedby, role=alert, etc.)",
18 | "relatedNodes": []
19 | }
20 | ],
21 | "any": [],
22 | "failureSummary": "Fix all of the following:\n aria-errormessage value `id-message-1` must use a technique to announce the message (e.g., aria-live, aria-describedby, role=alert, etc.)",
23 | "html": "",
24 | "impact": "critical",
25 | "none": [],
26 | "target": [
27 | "#input-1"
28 | ]
29 | },
30 | {
31 | "all": [
32 | {
33 | "data": [
34 | "id-message-2"
35 | ],
36 | "id": "aria-errormessage",
37 | "impact": "critical",
38 | "message": "aria-errormessage value `id-message-2` must use a technique to announce the message (e.g., aria-live, aria-describedby, role=alert, etc.)",
39 | "relatedNodes": []
40 | }
41 | ],
42 | "any": [],
43 | "failureSummary": "Fix all of the following:\n aria-errormessage value `id-message-2` must use a technique to announce the message (e.g., aria-live, aria-describedby, role=alert, etc.)",
44 | "html": "",
45 | "impact": "critical",
46 | "none": [],
47 | "target": [
48 | "#input-2"
49 | ]
50 | },
51 | {
52 | "all": [
53 | {
54 | "data": [
55 | "id-message-3"
56 | ],
57 | "id": "aria-errormessage",
58 | "impact": "critical",
59 | "message": "aria-errormessage value `id-message-3` must use a technique to announce the message (e.g., aria-live, aria-describedby, role=alert, etc.)",
60 | "relatedNodes": []
61 | }
62 | ],
63 | "any": [],
64 | "failureSummary": "Fix all of the following:\n aria-errormessage value `id-message-3` must use a technique to announce the message (e.g., aria-live, aria-describedby, role=alert, etc.)",
65 | "html": "",
66 | "impact": "critical",
67 | "none": [],
68 | "target": [
69 | "#input-3"
70 | ]
71 | },
72 | {
73 | "all": [
74 | {
75 | "data": [
76 | "id-message-7"
77 | ],
78 | "id": "aria-errormessage",
79 | "impact": "critical",
80 | "message": "aria-errormessage value `id-message-7` must use a technique to announce the message (e.g., aria-live, aria-describedby, role=alert, etc.)",
81 | "relatedNodes": []
82 | }
83 | ],
84 | "any": [],
85 | "failureSummary": "Fix all of the following:\n aria-errormessage value `id-message-7` must use a technique to announce the message (e.g., aria-live, aria-describedby, role=alert, etc.)",
86 | "html": "",
87 | "impact": "critical",
88 | "none": [],
89 | "target": [
90 | "#input-7"
91 | ]
92 | }
93 | ],
94 | "tags": [
95 | "cat.aria",
96 | "wcag2a",
97 | "wcag412"
98 | ]
99 | }
100 | ]
101 |
--------------------------------------------------------------------------------
/graphics-aria/img/nested-figures.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | figure role for SVG elements
7 |
53 |
54 |
55 |
56 |
75 |
92 | Figure 1: Repeating SVG gradients
94 |
95 |
A repeating SVG gradient is defined using the
96 | spreadMethod attribute.
97 | A value of repeat causes the color stops
98 | to repeat in the same order, from beginning to end,
99 | as shown in Figure 1-a.
100 |
In contrast, a value of reflect
101 | causes the order and spacing of colors
102 | to alternate in each repeat,
103 | as in Figure 1-b.
104 |
Both of the gradients in Figure 1
105 | repeat the sequence of color stops four times,
106 | with the initial cycle from left to right.
Participants active in the ARIA WG at the time of publication
3 |
4 |
Irfan Ali (Educational Testing Service)
5 |
CB Averitt (Deque Systems, Inc)
6 |
Sina Bahram (Invited Expert)
7 |
Shirisha Balusani (Invited Expert)
8 |
Amelia Bellamy-Royds (Invited Expert)
9 |
Curt Bellew (Oracle Corporation)
10 |
Alex Bernier (Association BrailleNet)
11 |
Zoë Bijl (Invited Expert)
12 |
Jorge Blazquez Alonso (IBM Corporation)
13 |
Alice Boxhall (Google LLC)
14 |
Matthew Brennan (Facebook)
15 |
Kim Bunge (TPGi)
16 |
Shari Butler (Pearson plc)
17 |
Tammy Campoverde (UnitedHealth Group)
18 |
David Caro (Wikimedia Foundation)
19 |
Timothy Cole (University of Illinois at Urbana-Champaign)
20 |
Dominic Cooney (Facebook)
21 |
Michael Cooper (W3C Staff)
22 |
James Craig (Apple Inc.)
23 |
Jory Cunningham (Salesforce)
24 |
Jes Daigle (Bocoup)
25 |
Joanmarie Diggs (Igalia)
26 |
Jason Duan (IBM Corporation)
27 |
Isaac Durazo (Bocoup)
28 |
Howard Edwards (Bocoup)
29 |
Steve Faulkner (TPGi)
30 |
Reinaldo Ferraz (NIC.br)
31 |
Alexander Flenniken (Bocoup)
32 |
Bryan Garaventa (Level Access)
33 |
Matt Garrish (DAISY Consortium)
34 |
Jaunita George (Navy Federal Credit Union)
35 |
Raghavendra Giriyappa (IBM Corporation)
36 |
Michael Goddard (Bocoup)
37 |
Glen Gordon (TPGi)
38 |
Jon Gunderson (University of Illinois at Urbana-Champaign)
39 |
Markku Hakkinen (Educational Testing Service)
40 |
Sarah Higley (Microsoft Corporation)
41 |
Hans Hillen (TPGi)
42 |
Isabel Holdsworth (TPGi)
43 |
Stanley Hon (Microsoft Corporation)
44 |
Nicholas Hoyt (University of Illinois at Urbana-Champaign)
45 |
Shilpi Kapoor (BarrierBreak Technologies)
46 |
Matthew King (Facebook)
47 |
Greta Krafsig (The Washington Post)
48 |
Peter Krautzberger (Invited Expert)
49 |
JaEun Jemma Ku (University of Illinois at Urbana-Champaign)
50 |
Lori Lane (University of Illinois at Urbana-Champaign)
51 |
Charles LaPierre (Benetech)
52 |
Gez Lemon (TPGi)
53 |
Aaron Leventhal (Google LLC)
54 |
Brian Liu Xu (Microsoft Corporation)
55 |
David MacDonald (Invited Expert)
56 |
Carolyn MacLeod (IBM Corporation)
57 |
Daniel Marques (WIRIS Science)
58 |
Dominic Mazzoni (Google LLC)
59 |
Mark McCarthy (University of Illinois at Urbana-Champaign)
60 |
Jan McSorley (Pearson plc)
61 |
Erika Miguel (Bocoup)
62 |
Sheila Moussavi (Bocoup)
63 |
Rich Noah (Bocoup)
64 |
James Nurthen (Adobe)
65 |
Scott O'Hara (Microsoft Corporation)
66 |
Achraf Othman (MADA Center)
67 |
Vijaya Gowri Perumal (Newgen Knowledgeworks)
68 |
Christos Petrou (Centre for Inclusive Design)
69 |
Simon Pieters (Bocoup)
70 |
Ian Pouncey (TetraLogical Services Ltd)
71 |
Ruoxi Ran (W3C Staff)
72 |
Adrian Roselli (TPGi)
73 |
Janina Sajka (Invited Expert, The Linux Foundation)
74 |
Stefan Schnabel (SAP SE)
75 |
Harris Schneiderman (Deque Systems, Inc.)
76 |
Lisa Seeman-Kestenbaum (Invited Expert)
77 |
Boaz Sender (Bocoup)
78 |
Cynthia Shelly (Google LLC)
79 |
Tzviya Siegman (Wiley)
80 |
Sharon Snider (IBM Corporation)
81 |
Neil Soiffer (Invited Expert)
82 |
Volker Sorge (Invited Expert)
83 |
Francis Storr (Intel Corporation)
84 |
Melanie Sumner (Invited Expert)
85 |
Alexander Surkov (Igalia)
86 |
William Tennis (Navy Federal Credit Union)
87 |
Seth Thompson (Bocoup)
88 |
Scott Vinkle (Shopify)
89 |
Can Wang (Zhejiang University)
90 |
Wei Wang (Zhejiang University)
91 |
Léonie Watson (TetraLogical Services Ltd)
92 |
Jason White (Educational Testing Service)
93 |
Jan Williams (TPGi)
94 |
Evan Yamanishi (W. W. Norton)
95 |
Benjamin Young (Wiley)
96 |
Valerie Young (Bocoup)
97 |
Marco Zehe (Mozilla Foundation)
98 |
99 |
100 |
--------------------------------------------------------------------------------
/documentation/archive/1.2/Required Properties with Default Values.md:
--------------------------------------------------------------------------------
1 | **Editors Note.** Archived wiki page https://github.com/w3c/aria/wiki/Required-Properties-with-Default-Values, last edited Sep 28, 2018.
2 |
3 | # Required Properties with Default Values
4 |
5 | For issue #787 this is a list of all required properties that have default values defined
6 |
7 | Moved meta comment back into https://github.com/w3c/aria/issues/787 so that discussion can take place.
8 |
9 | Role | State/Property | Current Default Value | Notes
10 | --- | --- | --- | ---
11 | [checkbox](http://w3c.github.io/aria/#checkbox) | aria-checked | false | Required. Default in [Core AAM Default Values Table](https://w3c.github.io/core-aam/#authorErrorDefaultValuesTable) only.
12 | [combobox](http://w3c.github.io/aria/#combobox) | aria-expanded | false | Required. Default in [Core AAM Default Values Table](https://w3c.github.io/core-aam/#authorErrorDefaultValuesTable) only.
13 | [heading](http://w3c.github.io/aria/#heading) | aria-level | 2 | Required. Default in [Core AAM Default Values Table](https://w3c.github.io/core-aam/#authorErrorDefaultValuesTable) only.
14 | [menuitemcheckbox](http://w3c.github.io/aria/#menuitemcheckbox) | aria-checked | false | Required. Default in [Core AAM Default Values Table](https://w3c.github.io/core-aam/#authorErrorDefaultValuesTable) only.
15 | [menuitemradio](http://w3c.github.io/aria/#menuitemradio) | aria-checked | false | Required. Default in [Core AAM Default Values Table](https://w3c.github.io/core-aam/#authorErrorDefaultValuesTable) only.
16 | [option](http://w3c.github.io/aria/#option) | aria-selected | false | Supported. No default. [PR #799](https://github.com/w3c/aria/pull/799)
17 | [radio](http://w3c.github.io/aria/#radio) | aria-checked | false | Required. Default in [Core AAM Default Values Table](https://w3c.github.io/core-aam/#authorErrorDefaultValuesTable) only.
18 | [scrollbar](http://w3c.github.io/aria/#scrollbar) | aria-orientation | vertical | Supported. Default in ARIA and [Core AAM Default Values Table](https://w3c.github.io/core-aam/#authorErrorDefaultValuesTable).
19 | scrollbar | aria-valuemin | 0 | Supported. Default in ARIA and [Core AAM Default Values Table](https://w3c.github.io/core-aam/#authorErrorDefaultValuesTable).
20 | scrollbar | aria-valuemax | 100 | Supported. Default in ARIA and [Core AAM Default Values Table](https://w3c.github.io/core-aam/#authorErrorDefaultValuesTable).
21 | scrollbar | aria-valuenow | halfway between valuemax and valuemin | Required. Default in [Core AAM Default Values Table](https://w3c.github.io/core-aam/#authorErrorDefaultValuesTable) only. **Consider changing default value to aria-valuemin.**
22 | [separator (focusable)](http://w3c.github.io/aria/#separator) | aria-valuemin | 0 | Supported. Default in ARIA and needs to be added to [Core AAM Default Values Table](https://w3c.github.io/core-aam/#authorErrorDefaultValuesTable).
23 | separator (focusable) | aria-valuemax | 100 | Supported. Default in ARIA and needs to be added to [Core AAM Default Values Table](https://w3c.github.io/core-aam/#authorErrorDefaultValuesTable).
24 | separator (focusable) | aria-valuenow | 50 | Required. Default needs to be removed from ARIA and added to [Core AAM Default Values Table](https://w3c.github.io/core-aam/#authorErrorDefaultValuesTable) as "(aria-valuemax - aria-valuemin) / 2".
25 | [slider](http://w3c.github.io/aria/#slider) | aria-valuemin | 0 | Supported. Default in ARIA and [Core AAM Default Values Table](https://w3c.github.io/core-aam/#authorErrorDefaultValuesTable).
26 | slider | aria-valuemax | 100 | Supported. Default in ARIA and [Core AAM Default Values Table](https://w3c.github.io/core-aam/#authorErrorDefaultValuesTable).
27 | slider | aria-valuenow | halfway between valuemax and valuemin | Required. Default in [Core AAM Default Values Table](https://w3c.github.io/core-aam/#authorErrorDefaultValuesTable) only.
28 | [spinbutton](http://w3c.github.io/aria/#spinbutton) | aria-valuemin | no minimum value | Supported. Default in ARIA and [Core AAM Default Values Table](https://w3c.github.io/core-aam/#authorErrorDefaultValuesTable).
29 | spinbutton | aria-valuemax | no maximum value | Supported. Default in ARIA and [Core AAM Default Values Table](https://w3c.github.io/core-aam/#authorErrorDefaultValuesTable).
30 | spinbutton | aria-valuenow | 0 | Supported. Default in ARIA and [Core AAM Default Values Table](https://w3c.github.io/core-aam/#authorErrorDefaultValuesTable). **Consider changing default value to empty.** See [#797](https://github.com/w3c/aria/issues/797) and [PR#813](https://github.com/w3c/aria/pull/813).
31 | [switch](http://w3c.github.io/aria/#switch) | aria-checked | false | Required. Default in [Core AAM Default Values Table](https://w3c.github.io/core-aam/#authorErrorDefaultValuesTable) only.
32 | [treeitem](http://w3c.github.io/aria/#treeitem) | aria-selected | false | Supported. No default. [PR #799](https://github.com/w3c/aria/pull/799)
33 |
--------------------------------------------------------------------------------
/common/utility/roleXMIgenerator.xslt:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 | true
24 | false
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
--------------------------------------------------------------------------------
/validator-tests/option-owned-by-listbox-vnu.json:
--------------------------------------------------------------------------------
1 | {
2 | "messages": [
3 | {
4 | "type": "info",
5 | "url": "file:/home/spectranaut/w3c/aria/validator-tests/option-owned-by-listbox.html",
6 | "lastLine": 38,
7 | "lastColumn": 31,
8 | "firstColumn": 1,
9 | "subType": "warning",
10 | "message": "Possible misuse of “aria-label”. (If you disagree with this warning, file an issue report or send e-mail to www-validator@w3.org.)",
11 | "extract": ">\n
\n\n
\n \n
\n <",
23 | "hiliteStart": 10,
24 | "hiliteLength": 17
25 | },
26 | {
27 | "type": "error",
28 | "url": "file:/home/spectranaut/w3c/aria/validator-tests/option-owned-by-listbox.html",
29 | "lastLine": 12,
30 | "lastColumn": 45,
31 | "firstColumn": 1,
32 | "message": "An element with “role=option” must be contained in, or owned by, an element with “role=listbox”.",
33 | "extract": " fail -->\n
Option",
34 | "hiliteStart": 10,
35 | "hiliteLength": 45
36 | },
37 | {
38 | "type": "error",
39 | "url": "file:/home/spectranaut/w3c/aria/validator-tests/option-owned-by-listbox.html",
40 | "lastLine": 13,
41 | "lastColumn": 45,
42 | "firstColumn": 1,
43 | "message": "An element with “role=option” must be contained in, or owned by, an element with “role=listbox”.",
44 | "extract": "n 1
\n
Option",
45 | "hiliteStart": 10,
46 | "hiliteLength": 45
47 | },
48 | {
49 | "type": "error",
50 | "url": "file:/home/spectranaut/w3c/aria/validator-tests/option-owned-by-listbox.html",
51 | "lastLine": 16,
52 | "lastColumn": 47,
53 | "firstColumn": 3,
54 | "message": "An element with “role=option” must be contained in, or owned by, an element with “role=listbox”.",
55 | "extract": "group\">\n
Option",
56 | "hiliteStart": 10,
57 | "hiliteLength": 45
58 | },
59 | {
60 | "type": "error",
61 | "url": "file:/home/spectranaut/w3c/aria/validator-tests/option-owned-by-listbox.html",
62 | "lastLine": 17,
63 | "lastColumn": 47,
64 | "firstColumn": 3,
65 | "message": "An element with “role=option” must be contained in, or owned by, an element with “role=listbox”.",
66 | "extract": "3
\n
Option",
67 | "hiliteStart": 10,
68 | "hiliteLength": 45
69 | },
70 | {
71 | "type": "error",
72 | "url": "file:/home/spectranaut/w3c/aria/validator-tests/option-owned-by-listbox.html",
73 | "lastLine": 39,
74 | "lastColumn": 47,
75 | "firstColumn": 3,
76 | "message": "An element with “role=option” must be contained in, or owned by, an element with “role=listbox”.",
77 | "extract": "=\"foo\">\n
Option",
78 | "hiliteStart": 10,
79 | "hiliteLength": 45
80 | },
81 | {
82 | "type": "error",
83 | "url": "file:/home/spectranaut/w3c/aria/validator-tests/option-owned-by-listbox.html",
84 | "lastLine": 40,
85 | "lastColumn": 48,
86 | "firstColumn": 3,
87 | "message": "An element with “role=option” must be contained in, or owned by, an element with “role=listbox”.",
88 | "extract": "9
\n
Option",
89 | "hiliteStart": 10,
90 | "hiliteLength": 46
91 | },
92 | {
93 | "type": "error",
94 | "url": "file:/home/spectranaut/w3c/aria/validator-tests/option-owned-by-listbox.html",
95 | "lastLine": 48,
96 | "lastColumn": 50,
97 | "firstColumn": 5,
98 | "message": "An element with “role=option” must be contained in, or owned by, an element with “role=listbox”.",
99 | "extract": "oup\">\n
Option",
100 | "hiliteStart": 10,
101 | "hiliteLength": 46
102 | },
103 | {
104 | "type": "error",
105 | "url": "file:/home/spectranaut/w3c/aria/validator-tests/option-owned-by-listbox.html",
106 | "lastLine": 49,
107 | "lastColumn": 50,
108 | "firstColumn": 5,
109 | "message": "An element with “role=option” must be contained in, or owned by, an element with “role=listbox”.",
110 | "extract": "/div>\n
Option",
111 | "hiliteStart": 10,
112 | "hiliteLength": 46
113 | }
114 | ]
115 | }
116 |
--------------------------------------------------------------------------------
/documentation/archive/unresolved/Plans regarding attribute parity.md:
--------------------------------------------------------------------------------
1 | **Editors Note.** Archived wiki page https://github.com/w3c/aria/wiki/Plans-regarding-attribute-parity, last edited Jan 24, 2022.
2 |
3 | # Plans regarding attribute parity
4 |
5 | ## Introduction
6 |
7 | This triage is based on what is in the HTML-AAM. Joanie did not go through the HTML spec looking for attributes that are in there, but not in the HTML-AAM. It would be great if someone could do that.
8 |
9 | ## Parity not planned
10 |
11 | These are not mapped on any platform: `accept`, `accept-charset`, `action`, `allow`, `allowfullscreen`, `allowpaymentrequest`, `as`, `async`, `autocapitalize`, `autofocus`, `autoplay`, `charset`, `class`, `color`, `content`, `crossorigin`, `data`, `decoding`, `default`, `defer`, `dirname`, `download`, `enctype`, `form`, `formaction`, `formenctype`, `formmethod`, `formnovalidate`, `formtarget`, `href` (on `link`), `hreflang`, `http-equiv`, `id`, `ismap`, `kind`, `loop`, `media`, `method`, `multiple` (on `input`), `muted`, `name`, `novalidate`, `ping`, `playsinline`, `poster`, `preload`, `referrerpolicy`, `rel`, `rows`, `sandbox`, `shape`, `sizes` (on `link`), `slot`, `srcdoc`, `srclang`, `target`, `title` (on `link`, `style`), `translate`, `type`, `usemap`, `value` (on `button`, `option`, `param`, `data`), `wrap`
12 |
13 | In addition, these will not be done for the stated reason:
14 |
15 | . `controls` on `audio`, `video`: We are not creating `audio` and `video` roles at this time. See https://github.com/w3c/aria/issues/517. Therefore attribute parity for roles which do not exist makes no sense.
16 |
17 | ## Already done via AccName
18 |
19 | `alt`, `label`, `title`
20 |
21 | ## Already done via ARIA
22 |
23 | . `checked`: `aria-checked`
24 | . `colspan`: `aria-colspan`
25 | . `disabled`: `aria-disabled`
26 | . `hidden`: `aria-hidden`
27 | . `indeterminate`: `aria-checked=mixed`
28 | . `max`: `aria-valuemax`
29 | . `min`: `aria-valuemin`
30 | . `multiple` (on `select`): `aria-multiselectable`
31 | . `selected`: `aria-selected`
32 | . `placeholder`: `aria-placeholder`
33 | . `readonly`: `aria-readonly`
34 | . `required`: `aria-required`
35 | . `rowspan`: `aria-rowspan`
36 | . `scope=col`: `columnheader` role
37 | . `scope=row`: `rowheader` role
38 | . `value` (on `meter`, `progress`): `aria-valuenow`
39 |
40 | ## Already "done" via exposure of rendered result
41 |
42 | . `coords` on `area`: Exposure to ATs should come from rendered object; not the property.
43 | . `height` on `canvas`, `embed`, `iframe`, `img`, `input`, `object`, `video`: Exposure to ATs should come from rendered object; not the property.
44 | . `reversed` on `ol`: Exposure comes via the text exposed for the list item markers.
45 | . `size` on `input`: Exposure based on bounding box rendered widget.
46 | . `size` on `select`: Exposure based on rendered widget (similar to type on input).
47 | . `sizes` on `img`, `source`: Exposure to ATs should come from rendered object; not the property.
48 | . `start` on `ol`: Exposure comes via the text exposed for the list item markers.
49 | . `style`: Exposure to ATs should come from the rendered/calculated styles.
50 | . `tabindex`: Exposure mostly done via focusability (when not -1). We also have coverage by managing keyboard focus spec contents.
51 | . `type` on `ol`: Exposure comes via the text exposed for the list item markers.
52 | . `width` on `canvas`, `embed`, `iframe`, `img`, `input`, `object`, `video`: Exposure to ATs should come from rendered object; not the property.
53 |
54 | ## TODO
55 |
56 | . `high` on `meter`
57 | . `low` on `meter`
58 | . `optimum` on `meter`
59 |
60 | https://github.com/w3c/aria/issues/1336
61 |
62 | ## Candidates (Mapped on at least one platform)
63 |
64 | Do ATs really need these? If so, can we get mappings for all platforms?
65 |
66 | . `abbr` on `th`
67 | . `cite` on `blockquote`, `del`, `ins`, `q`
68 | . `cols` on `textarea`
69 | . `contenteditable`
70 | . `datetime` on `del` and `ins`
71 | . `datetime` on `time`
72 | . `dir`
73 | . `headers` on `td` and `th`
74 | . `href` on `a`, `area`
75 | . `list` on `input` https://github.com/w3c/aria/issues/472 [closed / rejected (for now)]
76 | . `lang`
77 | . `open` on `details`
78 | . `pattern` on `input` (current mapping is for the presence of error; not the pattern itself)
79 | . `spellcheck` on `input` (current mapping is for the presence of error; not if checking is enabled)
80 | . `span` (on `colgroup`)
81 | . `src` on `img`
82 | . `step` on `input` https://github.com/w3c/aria/issues/471 [closed / rejected (for now)]
83 | . `value` on `li`
84 |
85 | These need further discussion:
86 |
87 | . `accesskey`: Do we have sufficient parity through aria-keyshortcuts?
88 | . `autocomplete`: Need to get/update mappings for UIA, AXAPI. In addition, in HTML values are on/off. ARIA lacks these.
89 | . `draggable`: not mapped. Question: Do we want to deal with drag and drop during 1.3?
90 | . `for` on `label` and `output`: Can this be covered via `aria-labelledby`?
91 | . `maxlength` on `input`, `textarea`: not mapped. But maybe it should be? https://github.com/w3c/aria/issues/1119[Joanie thinks so].
92 | . `minlength` on `input`, `textarea`: not mapped. Also maybe it should be?
93 | . `type` on `button`: Exposure mainly based on label. But see also https://github.com/w3c/aria/issues/842
94 | . `type` on `input`: Exposure based on rendered widget. But see also https://github.com/w3c/aria/issues/962
95 | . `value` on `input`: Exposure comes via the text/value exposed as the content of the `input`.
96 |
--------------------------------------------------------------------------------
/documentation/onboarding.md:
--------------------------------------------------------------------------------
1 | ARIA WG onboarding: Cheat sheet for new members
2 |
3 | Please read the [ARIA WG Process Document](process.md)
4 |
5 | # ARIA Meeting Information
6 | ## Inter Relay Chat(IRC)
7 | ### Access via IRC Cloud
8 | * [IRC Cloud ARIA Channel URL](https://www.irccloud.com/irc/irc.w3.org/channel/aria)
9 | * Hostname:irc.w3.org
10 | * Port:6679(check secure port)
11 | * Add your nickname and more
12 | * Go to channel #aria
13 |
14 | ### Access via [IRC Web URL](http://irc.w3.org/)
15 | * add your **Nickname**, "your name"
16 | * add **Channels**, "#aria"
17 |
18 | ### IRC command cheat sheet
19 | When you first enter the channel, type:
20 | `present+`
21 |
22 | Commands anyone can use:
23 | ```
24 | q+ (to add yourself to the speaker queue)
25 | q+ to say [what you want to say] (to add yourself to the speaker queue with reminder message)
26 | ack me (acknowledge oneself from the speaker queue (used when you speak - often the chair will do this)
27 | ack ja (acknowledge james from the q)
28 | q- (remove from the q - use if you decide you no longer want to speak)
29 | q? (to find out if anyone is on the q)
30 |
31 | [More Advanced IRC commands (rarely used)](https://www.w3.org/2001/12/zakim-irc-bot.html#speakerqueue).
32 |
33 | s/old text/new text/ (to replace something that was typed. Make sure "old text" is unique)
34 | s/old text// (to delete "old text")
35 |
36 | /me message (sends message to channel without adding to minutes. Adds * prefix, i.e.)
37 | * joanie says Zakim is named after a bridge in Boston and pronounced Zay come
38 | ```
39 |
40 | These are the commands to set up a meeting
41 | ```
42 | /invite zakim
43 | zakim, start meeting
44 | agendabot, find agenda
45 | meeting: ARIA WG
46 | chair: JamesNurthen
47 | agenda? (to list the agenda items - chair usually enters agenda using `agenda+ item`)
48 | ```
49 |
50 | Scribing commands used during the call:
51 | ```
52 | scribe: [your nickname]
53 | zakim, next item
54 | zakim, close this item (might need this if we try to move to the next item too soon)
55 | zakim, take up item 6 (might need this to go directly to a specific item)
56 |
57 | topic: topic name (ARIA WG doesn't use this, but APG does)
58 | github: [github issue url] (adds current topic discussion to github issue)
59 | agenda+ [topic to add to agenda]
60 | ```
61 |
62 | When scribing conversation, tab key will (usually - if the user in IRC and the IRC client supports it) complete the person's name after 2 or 3 letters, for example:
63 | ```
64 | ja[tab] completes to jamesn:
65 | jc[tab] completes to jcraig:
66 | ```
67 |
68 | Scribing commands used at the end of the call to prepare the minutes:
69 | ```
70 | zakim, end meeting
71 | ```
72 | If the minutes need correcting
73 | ```
74 | present+ name (if anyone who was on the call is missing from the list)
75 | present- name (if someone is added twice for example)
76 | regrets+ name (for anyone who sent regrets)
77 | rrsagent, make minutes (re-makes the minutes)
78 | ```
79 |
80 | Open the minutes link in a new tab, and check that they look ok (may need to refresh several times).
81 | If all is well, email minutes link to group (I usually just reply to the agenda email).
82 | If anything is missing, add it, and then `rrsagent, make minutes` again.
83 |
84 | The following links have way too much information, but here they are for completeness:
85 | - https://www.w3.org/wiki/IRC
86 | - https://www.w3.org/2002/03/RRSAgent
87 | - https://www.w3.org/2001/12/zakim-irc-bot
88 |
89 | ## ARIA Github Repository
90 | * [ARIA Github Repo URL](https://github.com/w3c/aria)
91 | * [Editor's Draft](https://w3c.github.io/aria)
92 | * This is built from the main branch of the ARIA repository.
93 | * [ARIA Authoring Practices (aka the "APG")](https://www.w3.org/WAI/ARIA/apg/)
94 | * Developer guidance on best practices for ARIA usage
95 | * [Github for APG](https://www.w3.org/WAI/ARIA/apg/)
96 | ### How to contribute to the repository
97 | * Your Github account needs to be added to list of people who have the permission to the repo. Please send email to the chairs or for access.
98 | * Assign yourself to the issues to review PR.
99 | ### Current ARIA contributors
100 | * [Participants active in the ARIA WG](https://www.w3.org/groups/wg/aria/participants)
101 | ## Communication
102 | * New member will receive Welcome email from Chairs. If not, let the chairs know.
103 | * ARIA WG Public mailing list:public-aria@w3.org
104 | * Slack channels: w3ccommunity.slack.com/ #aria, web-a11y.slack.com
105 | ## Other Specifications Managed by the ARIA Working Group
106 | * [Accessible Name and Description Computation (aka "accname")](https://github.com/w3c/accame)
107 | * How browser should calculate the accessible name and description for elements.
108 | * [CORE-AAM](https://github.com/w3c/core-aam)
109 | * Contains mappings between ARIA and platform accessibility APIs.
110 | * [HTML-AAM](https://github.com/w3c/html-aam)
111 | * Contains mappings between HTML and platform accessibility APIs.
112 | * [DPUB-ARIA](https://github.com/w3c/dpub-aria)
113 | * [DPUB-AAM](https://github.com/w3c/dpub-aam)
114 | * Contains mappings between DPUB and platform accessibility APIs.
115 | * [MathML-AAM](https://github.com/w3c/mathml-aam)
116 | * Contains mappings between MathML and platform accessibility APIs.
117 | * [Graphics-ARIA](https://github.com/w3c/graphics-aria)
118 | * [Graphics-AAM](https://github.com/w3c/graphics-aam)
119 | * Contains mappings between Graphics-ARIA and platform accessibility APIs.
120 |
121 |
122 |
--------------------------------------------------------------------------------
/validator-tests/abstract-roles-prohibited-vnu.json:
--------------------------------------------------------------------------------
1 | {
2 | "messages": [
3 | {
4 | "type": "error",
5 | "url": "file:/home/spectranaut/w3c/aria/validator-tests/abstract-roles-prohibited.html",
6 | "lastLine": 10,
7 | "lastColumn": 51,
8 | "firstColumn": 5,
9 | "message": "Bad value “command” for attribute “role” on element “div”.",
10 | "extract": " -->\n