diff --git a/.github/workflows/build-copy-and-publish-accname.yml b/.github/workflows/build-copy-and-publish-accname.yml new file mode 100644 index 000000000..fc2c7cb5d --- /dev/null +++ b/.github/workflows/build-copy-and-publish-accname.yml @@ -0,0 +1,64 @@ +name: Build, Copy, and Publish accname +on: + push: + branches: [main] + paths: ['accname/**', 'common/**'] + workflow_dispatch: + +jobs: + main: + name: Build Respec + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v4 + - uses: w3c/spec-prod@v2 + with: + SOURCE: accname/index.html + TOOLCHAIN: respec + W3C_ECHIDNA_TOKEN: ${{ secrets.ECHIDNA_TOKEN_ACCNAME }} + W3C_WG_DECISION_URL: https://lists.w3.org/Archives/Public/public-aria-admin/2018Sep/0011.html + GH_PAGES_BRANCH: gh-pages + VALIDATE_WEBIDL: false + VALIDATE_MARKUP: false + BUILD_FAIL_ON: nothing + W3C_BUILD_OVERRIDE: | + specStatus: WD + shortName: accname-1.2 + ARTIFACT_NAME: 'accname' + + - uses: actions/upload-artifact@v4 + with: + name: accname + path: accname.zip + + copy-to-accname-gh-pages: + name: Copy to accname repo + runs-on: ubuntu-20.04 + needs: main + steps: + - name: Checkout accname repo + uses: actions/checkout@v4 + with: + repository: w3c/accname + ref: gh-pages + path: accname + token: ${{ secrets.GITHUB_TOKEN }} + + - name: Download artifacts + uses: actions/download-artifact@v4 + with: + name: accname + path: accname + + - name: Commit changes + working-directory: accname + env: + token: ${{ secrets.ARIA_SPECS_EDITORS_DRAFTS }} + run: | + ls -R + git config --global user.email "github-actions[bot]@users.noreply.github.com" + git config --global user.name "GitHub Actions" + git status + git add . + git commit -m "Update accname" + git push origin gh-pages diff --git a/.github/workflows/build-copy-and-publish-core-aam.yml b/.github/workflows/build-copy-and-publish-core-aam.yml new file mode 100644 index 000000000..0ee6c434f --- /dev/null +++ b/.github/workflows/build-copy-and-publish-core-aam.yml @@ -0,0 +1,64 @@ +name: Build, Copy, and Publish core-aam +on: + push: + branches: [main] + paths: ['core-aam/**', 'common/**'] + workflow_dispatch: + +jobs: + main: + name: Build Respec + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v4 + - uses: w3c/spec-prod@v2 + with: + SOURCE: core-aam/index.html + TOOLCHAIN: respec + W3C_ECHIDNA_TOKEN: ${{ secrets.ECHIDNA_TOKEN_CORE_AAM }} + W3C_WG_DECISION_URL: https://lists.w3.org/Archives/Public/public-aria-admin/2018Sep/0011.html + GH_PAGES_BRANCH: gh-pages + VALIDATE_WEBIDL: false + VALIDATE_MARKUP: false + BUILD_FAIL_ON: nothing + W3C_BUILD_OVERRIDE: | + specStatus: CRD + shortName: core-aam-1.2 + ARTIFACT_NAME: 'core-aam' + + - uses: actions/upload-artifact@v4 + with: + name: core-aam + path: core-aam.zip + + copy-to-core-aam-gh-pages: + name: Copy to core-aam repo + runs-on: ubuntu-20.04 + needs: main + steps: + - name: Checkout core-aam repo + uses: actions/checkout@v4 + with: + repository: w3c/core-aam + ref: gh-pages + path: core-aam + token: ${{ secrets.GITHUB_TOKEN }} + + - name: Download artifacts + uses: actions/download-artifact@v4 + with: + name: core-aam + path: core-aam + + - name: Commit changes + working-directory: core-aam + env: + token: ${{ secrets.ARIA_SPECS_EDITORS_DRAFTS }} + run: | + ls -R + git config --global user.email "github-actions[bot]@users.noreply.github.com" + git config --global user.name "GitHub Actions" + git status + git add . + git commit -m "Update core-aam" + git push origin gh-pages diff --git a/.github/workflows/build-copy-and-publish-dpub-aam.yml b/.github/workflows/build-copy-and-publish-dpub-aam.yml new file mode 100644 index 000000000..3c9131099 --- /dev/null +++ b/.github/workflows/build-copy-and-publish-dpub-aam.yml @@ -0,0 +1,64 @@ +name: Build, Copy, and Publish dpub-aria +on: + push: + branches: [main] + paths: ['dpub-aria/**', 'common/**'] + workflow_dispatch: + +jobs: + main: + name: Build Respec + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v4 + - uses: w3c/spec-prod@v2 + with: + SOURCE: dpub-aria/index.html + TOOLCHAIN: respec + W3C_ECHIDNA_TOKEN: ${{ secrets.ECHIDNA_TOKEN_DPUB-AAM }} + W3C_WG_DECISION_URL: https://lists.w3.org/Archives/Public/public-aria-admin/2018Sep/0011.html + GH_PAGES_BRANCH: gh-pages + VALIDATE_WEBIDL: false + VALIDATE_MARKUP: false + BUILD_FAIL_ON: nothing + W3C_BUILD_OVERRIDE: | + specStatus: CRD + shortName: dpub-aria-1.1 + ARTIFACT_NAME: 'dpub-aria' + + - uses: actions/upload-artifact@v4 + with: + name: dpub-aria + path: dpub-aria.zip + + copy-to-dpub-aria-gh-pages: + name: Copy to dpub-aria repo + runs-on: ubuntu-20.04 + needs: main + steps: + - name: Checkout dpub-aria repo + uses: actions/checkout@v4 + with: + repository: w3c/dpub-aria + ref: gh-pages + path: dpub-aria + token: ${{ secrets.GITHUB_TOKEN }} + + - name: Download artifacts + uses: actions/download-artifact@v4 + with: + name: dpub-aria + path: dpub-aria + + - name: Commit changes + working-directory: dpub-aria + env: + token: ${{ secrets.ARIA_SPECS_EDITORS_DRAFTS }} + run: | + ls -R + git config --global user.email "github-actions[bot]@users.noreply.github.com" + git config --global user.name "GitHub Actions" + git status + git add . + git commit -m "Update dpub-aria" + git push origin gh-pages diff --git a/.github/workflows/build-copy-and-publish-dpub-aria.yml b/.github/workflows/build-copy-and-publish-dpub-aria.yml new file mode 100644 index 000000000..95c463ebc --- /dev/null +++ b/.github/workflows/build-copy-and-publish-dpub-aria.yml @@ -0,0 +1,64 @@ +name: Build, Copy, and Publish dpub-aria +on: + push: + branches: [main] + paths: ['dpub-aria/**', 'common/**'] + workflow_dispatch: + +jobs: + main: + name: Build Respec + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v4 + - uses: w3c/spec-prod@v2 + with: + SOURCE: dpub-aria/index.html + TOOLCHAIN: respec + W3C_ECHIDNA_TOKEN: ${{ secrets.ECHIDNA_TOKEN_DPUB-ARIA }} + W3C_WG_DECISION_URL: https://lists.w3.org/Archives/Public/public-aria-admin/2018Sep/0011.html + GH_PAGES_BRANCH: gh-pages + VALIDATE_WEBIDL: false + VALIDATE_MARKUP: false + BUILD_FAIL_ON: nothing + W3C_BUILD_OVERRIDE: | + specStatus: CRD + shortName: dpub-aria-1.1 + ARTIFACT_NAME: 'dpub-aria' + + - uses: actions/upload-artifact@v4 + with: + name: dpub-aria + path: dpub-aria.zip + + copy-to-dpub-aria-gh-pages: + name: Copy to dpub-aria repo + runs-on: ubuntu-20.04 + needs: main + steps: + - name: Checkout dpub-aria repo + uses: actions/checkout@v4 + with: + repository: w3c/dpub-aria + ref: gh-pages + path: dpub-aria + token: ${{ secrets.GITHUB_TOKEN }} + + - name: Download artifacts + uses: actions/download-artifact@v4 + with: + name: dpub-aria + path: dpub-aria + + - name: Commit changes + working-directory: dpub-aria + env: + token: ${{ secrets.ARIA_SPECS_EDITORS_DRAFTS }} + run: | + ls -R + git config --global user.email "github-actions[bot]@users.noreply.github.com" + git config --global user.name "GitHub Actions" + git status + git add . + git commit -m "Update dpub-aria" + git push origin gh-pages diff --git a/.github/workflows/build-copy-and-publish-graphics-aam.yml b/.github/workflows/build-copy-and-publish-graphics-aam.yml new file mode 100644 index 000000000..c09737b0a --- /dev/null +++ b/.github/workflows/build-copy-and-publish-graphics-aam.yml @@ -0,0 +1,64 @@ +name: Build, Copy, and Publish graphics-aam +on: + push: + branches: [main] + paths: ['graphics-aam/**', 'common/**'] + workflow_dispatch: + +jobs: + main: + name: Build Respec + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v4 + - uses: w3c/spec-prod@v2 + with: + SOURCE: graphics-aam/index.html + TOOLCHAIN: respec + W3C_ECHIDNA_TOKEN: ${{ secrets.ECHIDNA_TOKEN_GRAPHICS-AAM }} + W3C_WG_DECISION_URL: https://lists.w3.org/Archives/Public/public-aria-admin/2018Sep/0011.html + GH_PAGES_BRANCH: gh-pages + VALIDATE_WEBIDL: false + VALIDATE_MARKUP: false + BUILD_FAIL_ON: nothing + W3C_BUILD_OVERRIDE: | + specStatus: CRD + shortName: graphics-aam-1.1 + ARTIFACT_NAME: 'graphics-aam' + + - uses: actions/upload-artifact@v4 + with: + name: graphics-aam + path: graphics-aam.zip + + copy-to-graphics-aam-gh-pages: + name: Copy to graphics-aam repo + runs-on: ubuntu-20.04 + needs: main + steps: + - name: Checkout graphics-aam repo + uses: actions/checkout@v4 + with: + repository: w3c/graphics-aam + ref: gh-pages + path: graphics-aam + token: ${{ secrets.GITHUB_TOKEN }} + + - name: Download artifacts + uses: actions/download-artifact@v4 + with: + name: graphics-aam + path: graphics-aam + + - name: Commit changes + working-directory: graphics-aam + env: + token: ${{ secrets.ARIA_SPECS_EDITORS_DRAFTS }} + run: | + ls -R + git config --global user.email "github-actions[bot]@users.noreply.github.com" + git config --global user.name "GitHub Actions" + git status + git add . + git commit -m "Update graphics-aam" + git push origin gh-pages diff --git a/.github/workflows/build-copy-and-publish-graphics-aria.yml b/.github/workflows/build-copy-and-publish-graphics-aria.yml new file mode 100644 index 000000000..438741682 --- /dev/null +++ b/.github/workflows/build-copy-and-publish-graphics-aria.yml @@ -0,0 +1,64 @@ +name: Build, Copy, and Publish graphics-aria +on: + push: + branches: [main] + paths: ['graphics-aria/**', 'common/**'] + workflow_dispatch: + +jobs: + main: + name: Build Respec + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v4 + - uses: w3c/spec-prod@v2 + with: + SOURCE: graphics-aria/index.html + TOOLCHAIN: respec + W3C_ECHIDNA_TOKEN: ${{ secrets.ECHIDNA_TOKEN_GRAPHICS-ARIA }} + W3C_WG_DECISION_URL: https://lists.w3.org/Archives/Public/public-aria-admin/2018Sep/0011.html + GH_PAGES_BRANCH: gh-pages + VALIDATE_WEBIDL: false + VALIDATE_MARKUP: false + BUILD_FAIL_ON: nothing + W3C_BUILD_OVERRIDE: | + specStatus: CRD + shortName: graphics-aria-1.1 + ARTIFACT_NAME: 'graphics-aria' + + - uses: actions/upload-artifact@v4 + with: + name: graphics-aria + path: graphics-aria.zip + + copy-to-graphics-aria-gh-pages: + name: Copy to graphics-aria repo + runs-on: ubuntu-20.04 + needs: main + steps: + - name: Checkout graphics-aria repo + uses: actions/checkout@v4 + with: + repository: w3c/graphics-aria + ref: gh-pages + path: graphics-aria + token: ${{ secrets.GITHUB_TOKEN }} + + - name: Download artifacts + uses: actions/download-artifact@v4 + with: + name: graphics-aria + path: graphics-aria + + - name: Commit changes + working-directory: graphics-aria + env: + token: ${{ secrets.ARIA_SPECS_EDITORS_DRAFTS }} + run: | + ls -R + git config --global user.email "github-actions[bot]@users.noreply.github.com" + git config --global user.name "GitHub Actions" + git status + git add . + git commit -m "Update graphics-aria" + git push origin gh-pages diff --git a/.github/workflows/build-copy-and-publish-html-aam.yml b/.github/workflows/build-copy-and-publish-html-aam.yml new file mode 100644 index 000000000..056709fc9 --- /dev/null +++ b/.github/workflows/build-copy-and-publish-html-aam.yml @@ -0,0 +1,64 @@ +name: Build, Copy, and Publish html-aam +on: + push: + branches: [main] + paths: ['html-aam/**', 'common/**'] + workflow_dispatch: + +jobs: + main: + name: Build Respec + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v4 + - uses: w3c/spec-prod@v2 + with: + SOURCE: html-aam/index.html + TOOLCHAIN: respec + W3C_ECHIDNA_TOKEN: ${{ secrets.ECHIDNA_TOKEN_HTML-AAM }} + W3C_WG_DECISION_URL: https://lists.w3.org/Archives/Public/public-aria-admin/2018Sep/0011.html + GH_PAGES_BRANCH: gh-pages + VALIDATE_WEBIDL: false + VALIDATE_MARKUP: false + BUILD_FAIL_ON: nothing + W3C_BUILD_OVERRIDE: | + specStatus: WD + shortName: html-aam-1.2 + ARTIFACT_NAME: 'html-aam' + + - uses: actions/upload-artifact@v4 + with: + name: html-aam + path: html-aam.zip + + copy-to-html-aam-gh-pages: + name: Copy to html-aam repo + runs-on: ubuntu-20.04 + needs: main + steps: + - name: Checkout html-aam repo + uses: actions/checkout@v4 + with: + repository: w3c/html-aam + ref: gh-pages + path: html-aam + token: ${{ secrets.GITHUB_TOKEN }} + + - name: Download artifacts + uses: actions/download-artifact@v4 + with: + name: html-aam + path: html-aam + + - name: Commit changes + working-directory: html-aam + env: + token: ${{ secrets.ARIA_SPECS_EDITORS_DRAFTS }} + run: | + ls -R + git config --global user.email "github-actions[bot]@users.noreply.github.com" + git config --global user.name "GitHub Actions" + git status + git add . + git commit -m "Update html-aam" + git push origin gh-pages diff --git a/.github/workflows/build-copy-and-publish-mathml-aam.yml b/.github/workflows/build-copy-and-publish-mathml-aam.yml new file mode 100644 index 000000000..e5a0e6dab --- /dev/null +++ b/.github/workflows/build-copy-and-publish-mathml-aam.yml @@ -0,0 +1,64 @@ +name: Build, Copy, and Publish mathml-aam +on: + push: + branches: [main] + paths: ['mathml-aam/**', 'common/**'] + workflow_dispatch: + +jobs: + main: + name: Build Respec + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v4 + - uses: w3c/spec-prod@v2 + with: + SOURCE: mathml-aam/index.html + TOOLCHAIN: respec + W3C_ECHIDNA_TOKEN: ${{ secrets.ECHIDNA_TOKEN_MATHML-AAM }} + W3C_WG_DECISION_URL: https://lists.w3.org/Archives/Public/public-aria-admin/2018Sep/0011.html + GH_PAGES_BRANCH: gh-pages + VALIDATE_WEBIDL: false + VALIDATE_MARKUP: false + BUILD_FAIL_ON: nothing + W3C_BUILD_OVERRIDE: | + specStatus: CRD + shortName: mathml-aam-1.1 + ARTIFACT_NAME: 'mathml-aam' + + - uses: actions/upload-artifact@v4 + with: + name: mathml-aam + path: mathml-aam.zip + + copy-to-mathml-aam-gh-pages: + name: Copy to mathml-aam repo + runs-on: ubuntu-20.04 + needs: main + steps: + - name: Checkout mathml-aam repo + uses: actions/checkout@v4 + with: + repository: w3c/mathml-aam + ref: gh-pages + path: mathml-aam + token: ${{ secrets.GITHUB_TOKEN }} + + - name: Download artifacts + uses: actions/download-artifact@v4 + with: + name: mathml-aam + path: mathml-aam + + - name: Commit changes + working-directory: mathml-aam + env: + token: ${{ secrets.ARIA_SPECS_EDITORS_DRAFTS }} + run: | + ls -R + git config --global user.email "github-actions[bot]@users.noreply.github.com" + git config --global user.name "GitHub Actions" + git status + git add . + git commit -m "Update mathml-aam" + git push origin gh-pages diff --git a/.github/workflows/dependabot.yaml b/.github/workflows/dependabot.yaml new file mode 100644 index 000000000..17d094fce --- /dev/null +++ b/.github/workflows/dependabot.yaml @@ -0,0 +1,12 @@ +# Set update schedule for GitHub Actions + +version: 2 +updates: + + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + open-pull-requests-limit: 10 + commit-message: + prefix: "chore: dependabot" diff --git a/.github/workflows/prettier.yaml b/.github/workflows/prettier.yaml new file mode 100644 index 000000000..284800354 --- /dev/null +++ b/.github/workflows/prettier.yaml @@ -0,0 +1,27 @@ +name: Prettier +# minimally modified from https://github.com/creyD/prettier_action#example-2-using-the-only_changed-or-same_commit-option-on-pr + +on: + pull_request: + branches: + - main + - monorepo* + +jobs: + prettier: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + # Make sure the actual branch is checked out when running on pull requests + ref: ${{ github.head_ref }} + # This is important to fetch the changes to the previous commit + fetch-depth: 0 + + - name: Prettify code + uses: creyD/prettier_action@v4.3 + with: + prettier_options: --write **/index.html --print-width 200 + commit_message: "chore: prettier" diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 000000000..e90722f8a --- /dev/null +++ b/.prettierignore @@ -0,0 +1 @@ +/index.html diff --git a/accname/.gitattributes b/accname/.gitattributes new file mode 100644 index 000000000..e5237fb0f --- /dev/null +++ b/accname/.gitattributes @@ -0,0 +1,12 @@ +# Ensure all text files do not accidentally become a CRLF file. +# Agreed upon during 5 August 2015 PF Editors concall. +# To override or prevent this behavior see the following sections. +* text eol=lf + +# Files that will always have CRLF line endings. Example: +# my-special-spec.html eol=crlf + +# Ensure non-text files don't get accidentally swept up by above. +*.png binary +*.jpg binary +*.zargo binary diff --git a/accname/.gitignore b/accname/.gitignore new file mode 100644 index 000000000..ead8624e4 --- /dev/null +++ b/accname/.gitignore @@ -0,0 +1,219 @@ +################# +## Eclipse +################# + +*.pydevproject +.project +.metadata +bin/ +tmp/ +*.tmp +*.bak +*.swp +*~.nib +local.properties +.classpath +.settings/ +.loadpath + +# External tool builders +.externalToolBuilders/ + +# Locally stored "Eclipse launch configurations" +*.launch + +# CDT-specific +.cproject + +# PDT-specific +.buildpath + + +################# +## Visual Studio +################# + +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. + +# User-specific files +*.suo +*.user +*.sln.docstates + +# Build results + +[Dd]ebug/ +[Rr]elease/ +x64/ +build/ +[Bb]in/ +[Oo]bj/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +*_i.c +*_p.c +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.log +*.scc + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opensdf +*.sdf +*.cachefile + +# Visual Studio profiler +*.psess +*.vsp +*.vspx + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# NCrunch +*.ncrunch* +.*crunch*.local.xml + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.Publish.xml +*.pubxml + +# NuGet Packages Directory +## TODO: If you have NuGet Package Restore enabled, uncomment the next line +#packages/ + +# Windows Azure Build Output +csx +*.build.csdef + +# Windows Store app package directory +AppPackages/ + +# Others +sql/ +*.Cache +ClientBin/ +[Ss]tyle[Cc]op.* +~$* +*~ +*.dbmdl +*.[Pp]ublish.xml +*.pfx +*.publishsettings + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file to a newer +# Visual Studio version. Backup files are not needed, because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm + +# SQL Server files +App_Data/*.mdf +App_Data/*.ldf + +############# +## Windows detritus +############# + +# Windows image file caches +Thumbs.db +ehthumbs.db + +# Folder config file +Desktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Mac crap +.DS_Store + + +############# +## Python +############# + +<<<<<<< HEAD +*.py[co] +======= +*.py[cod] +>>>>>>> a51b9db2d4ebd2968f49781325ba3e4741f0127f + +# Packages +*.egg +*.egg-info +dist/ +build/ +eggs/ +parts/ +var/ +sdist/ +develop-eggs/ +.installed.cfg + +# Installer logs +pip-log.txt + +# Unit test / coverage reports +.coverage +.tox + +#Translations +*.mo + +#Mr Developer +.mr.developer.cfg diff --git a/accname/README.md b/accname/README.md new file mode 100644 index 000000000..a5a3a606a --- /dev/null +++ b/accname/README.md @@ -0,0 +1,5 @@ + +# Specification 'accname' + +This is the repository for accname. You're welcome to contribute! Let's make the Web rock our socks +off! diff --git a/accname/index.html b/accname/index.html new file mode 100644 index 000000000..815babde6 --- /dev/null +++ b/accname/index.html @@ -0,0 +1,799 @@ + + +
++ This document describes how user agents determine the names and + descriptions of accessible objects from web content languages. This information is in turn exposed through + accessibility APIs so that assistive technologies can identify these objects and present + their names or descriptions to users. Documenting the algorithm through which names and descriptions are to be determined promotes interoperable exposure of these properties among different + accessibility APIs and helps to ensure that this information appears in a manner consistent with author intent. +
++ The accessible name and description computation specification defines support that applies across multiple content technologies. This includes accessible name and description provided by + general-purpose + WAI-ARIA + [[WAI-ARIA]] roles, states, and [=ARIA/properties=] as well as features specific to individual content languages. +
++ This document updates and will eventually supersede the accessible name and description guidance in the + Accessible Name and Description Computation 1.1 [[ACCNAME-1.1]] W3C Recommendation. It is part of the + WAI-ARIA suite described in the + WAI-ARIA Overview. +
+
+ User agents acquire information from the DOM [[DOM]] and create a parallel structure called the
+ accessibility tree, made up of accessible objects. An accessible object provides information about its role,
+ states, and [=ARIA/properties=]. An example is an accessible object whose role is menuitem
, is currently in an enabled
state, with a
+ haspopup
property, indicating that it leads to a sub-menu.
+
+ The two properties of accessible objects described in this document are its accessible name and accessible description. The name is a short label
+ that provides information about the purpose of the object. An example of an accessible name for a menu item is New
, signifying that the menu item provides for the creation of new
+ documents, windows, and so on.
+
+ The description is a short explanation that further clarifies the nature of the accessible object. It is not always necessary to provide a description if the name is sufficient, but it can + help a user better understand the use of the object. +
++ Accessibility APIs currently support flat, unstructured strings for accessible names and descriptions. The result + of the name/description computation is thus a flat string. +
++ The terms "accessible name" and "accessible description" are used to emphasize that they are properties of accessible objects as exposed by + Accessibility APIs. However, they are frequently referred to hereafter as simply "name" and "description". +
+While some terms are defined in place, the following definitions are used throughout this document.
+Hardware and/or software that:
+This definition may differ from that used in other documents.
+Examples of assistive technologies that are important in the context of this document include the following:
++ An accessible description provides additional information, related to an interface element, that complements the accessible name. The accessible description might or might not be + visually perceivable. +
++ The accessible name is the name of a user interface element. Each platform accessibility API provides the accessible name + property. The value of the accessible name may be derived from a visible (e.g., the visible text on a button) or invisible (e.g., the text alternative that describes an icon) property of + the user interface element. See related accessible description. +
++ A simple use for the accessible name property may be illustrated by an "OK" button. The text "OK" is the accessible name. When the button receives focus, assistive + technologies may concatenate the platform's role description with the accessible name. For example, a screen reader may speak "push-button OK" or "OK button". The + order of concatenation and specifics of the role description (e.g., "button", "push-button", "clickable button") are determined by platform + accessibility APIs or assistive technologies. +
+Any host language attribute that would result in a user agent generating a tooltip such as in response to a mouse hover in desktop user agents.
++ RFC-2119 keywords are formatted in uppercase and in bold type font. When the keywords shown above are used, but do not share this format, they do not convey formal information in the RFC + 2119 sense, and are merely explanatory, i.e., informative. As much as possible, such usages are avoided in this specification. +
+The indication whether a section is normative or non-normative (informative) applies to the entire section including sub-sections.
++ 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. +
+
+ The starting point of the name and description computation is a DOM [=element=]. The output is a flat, unstructured string that can be as simple as a
+ single word, or a string of space-separated tokens. Examples include Save
and Reload from disk
.
+
+ An important factor is the [=element|element's=] role, that determines which content contributes to the name string. Roles have a nameFrom
+ RDF property, with three possible values:
+
aria-label
and aria-labelledby
[=attribute=], or a host language
+ labeling mechanism, such as the alt
or title
[=attribute=] in HTML, or the desc
[=element=] in
+ SVG.
+ aria-label
or
+ aria-labelledby
attributes to name the element.
+ + The Accessible Rich Internet Applications (WAI-ARIA) 1.2 [[!WAI-ARIA]] specification provides lists of + roles that support name from author, roles that support name from content and + roles that cannot be named. +
++ User agents MUST compute an accessible name using the rules outlined below in the section titled + Text Equivalent Computation. +
++ The following table provides the order of precedence for markup that can be applied to compute an accessible description. User agents MUST use + the first applicable entry from the table where the listed conditions are met, as described in the last column. The user agent MUST NOT use any markup other that the first relevant markup + found, even if that markup results in an empty description: +
+Precedence | +Attribute | +Applicable conditions | +How used to compute description | +
---|---|---|---|
1 | +
+ aria-describedby attribute
+ |
+ Use on any element | +Name computation on all nodes referenced by aria-describedby on the element, concatenated, and separated by a space character | +
2 | +
+ aria-description attribute
+ |
+ Use on any element | +As a flat string | +
3 | +host language features which participate in the description calculation | ++ Unique host language features MAY participate in the description computation for an element, only if they were not already used for the accessible name of the applicable element. See + HTML AAM: Accessible Description Computation + for the HTML elements which meet this condition. + | +Either a text equivalent computation of the host language element, or the string value of the host language attribute. | +
4 | +host language tooltip attribute or equivalent feature (e.g., HTML title attribute) |
+
+
|
+ As a flat string | +
+ The text equivalent computation is used by both the accessible name and accessible description. There are different rules provided for several + different types of [=element|elements=], [=nodes=], and combinations of markup. Text alternatives are built up, when appropriate, from all the relevant content contained within an + [=element=]. This is accomplished via steps 2B and 2F, which are recursive, using the full set of rules to retrieve text from its own children or nodes it references. +
++ The purpose of the computation is to create a perceivable label or description for alternative presentations, in the form of a flat string of space separated textual + tokens. +
+root node
's text equivalent. Initially, the current node
is
+ the root node
, but at later stages is either some descendant of the root node
, or another referenced node.
+ current node
.result
to X.result
to the end of X.result
to X.result
to X after the space.result
to X.result
to the start of X.result
to X.result
to the start of X, and add a space after the copy.The text alternative for a given element is computed as follows:
+root node
to the given element, the current node
to the
+ root node
, and the total accumulated text
to the empty string (""). If the root node
's role prohibits naming, return the empty string ("").
+ current node
:
+ current node
has an
+ aria-labelledby
[=attribute=] that contains at least one valid IDREF, and the current node
is not already part of an ongoing aria-labelledby
or
+ aria-describedby
traversal, process its IDREFs in the order they occur:
+ accumulated text
to the empty string.
+ current node
to the node referenced by the IDREF.
+ current node
beginning with the overall Computation step. Set the result
to that text alternative.
+ result
to the accumulated text
.
+ accumulated text
if it is not the empty string ("").
+
+ The result of LabelledBy Recursion in combination with Hidden Not Referenced means that
+ user agents MUST include all nodes in the subtree as part of the accessible name or accessible description,
+ when the node referenced by aria-labelledby
or aria-describedby
is hidden.
+
current node
is a control embedded within the label
+ (e.g. any element directly referenced by aria-labelledby
) for another widget, where the user can adjust the embedded control's value, then return
+ the embedded control as part of the text alternative in the following manner:
+ aria-valuetext
property is present, return its value,aria-valuenow
property is present, return its value,current node
has an aria-label
[=attribute=]
+ whose value is not undefined, not the empty string, nor, when trimmed of [=ascii whitespace|whitespace=], is not the empty string:
+ current node
is due to recursion and the current node
is an embedded control, ignore aria-label
and
+ skip to rule Embedded Control.
+ aria-label
.current node
's native markup provides an
+ [=attribute=] (e.g. alt
) or [=element=] (e.g. HTML label
or SVG title
) that defines a text alternative, return that alternative in the form of
+ a flat string
as defined by the host language, unless the element is marked as presentational (role="presentation"
or role="none"
).
+
+ For example, in HTML, the img
element's alt
attribute defines a text alternative string, and the
+ label
element provides text for the referenced form element. In SVG2, the desc
and title
elements provide a
+ description of their parent element.
+
current node's
role allows
+ name from content, or if the current node
is referenced by aria-labelledby
, aria-describedby
, or
+ is a native host language text alternative [=element=] (e.g. label
in HTML), or is a descendant of a native host language text alternative [=element=]:
+ accumulated text
to the empty string.
+ current node
and include it in the accumulated text
. The
+ CSS ::before
and ::after
pseudo
+ elements [[!CSS2]] can provide textual content for [=element|elements=] that have a content model.
+ ::before
pseudo elements, User agents MUST prepend CSS textual content, without a space,
+ to the textual content of the current node
.
+ ::after
pseudo elements, User agents MUST append CSS textual content, without a space, to
+ the textual content of the current node
.
+ rendered child nodes
of the current node
:
+ current node
has an attached [=shadow root=], set the rendered child nodes
to be the child nodes of the [=shadow root=].
+ current node
is a [=slot=] with [=slot/assigned nodes=], set the rendered child nodes
to be the [=slot/assigned nodes=] of the
+ current node
.
+ rendered child nodes
to be the child nodes of the current node
.rendered child node
of the
+ current node
:
+ current node
to the rendered child node
.
+ current node
beginning with the overall
+ Computation step. Set the result
to that text alternative.
+ result
to the accumulated text
.
+ accumulated text
if it is not the empty string ("").
+ + Important: Each [=nodes|node=] in the subtree is consulted only once. If text has been collected from a descendant, but is referenced by another IDREF in some + descendant node, then that second, or subsequent, reference is not followed. This is done to avoid infinite loops. +
+
+ This step can apply to the child nodes themselves, which means the computation is recursive and results in text collected from all the elements in the current node
's
+ subtree, no matter how deep it is. However, any given descendant [=nodes|node's=] text alternative can result from higher precedent markup described in steps B through D above,
+ where "Namefrom: author" attributes provide the text alternative for the entire subtree.
+
+ 18 January 2024: The ARIA Working Group is considering the feasibility of joining text strings with and without spaces, depending on the CSS display
value of the
+ current node
, and its adjacent nodes and pseudo-elements. The ongoing discussion is in AccName #225.
+
current node
is a Text [=Node=], return its textual
+ contents.
+ current node
is a descendant of an
+ element whose Accessible Name or Accessible Description is being computed, and contains descendants, proceed to
+ Name From Content Reset.
+ current node
has a Tooltip attribute,
+ return its value.
+ Tooltip attributes are used only if nothing else, including subtree content, has provided results.
+result
of each step above to the total accumulated text
.total accumulated text
is used as the accessible name or accessible description of the
+ [=element=] that initiated the computation.
+
+ Information concerning name and description accessibility API mappings, including relationships, such as labelled-by/label-for and described-by/description-for, is documented in the
+ Core Accessibility API Mappings specification [[!CORE-AAM-1.2]]. See the mapping table entries for
+ aria-label
, aria-labelledby
, and aria-describedby
.
+
The following people contributed to the development of this document.
+ + ++ This document describes how [=user agents=] should expose semantics of web content languages to accessibility APIs. This helps users with disabilities to obtain and interact with information using assistive technologies. 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 Core Accessibility API Mappings specification defines support that applies across multiple content technologies, including general keyboard navigation support and mapping of + general-purpose roles, states, and properties provided in Web content via + WAI-ARIA + [[WAI-ARIA-1.2]]. Other Accessibility API Mappings specifications depend on and extend this Core specification for specific technologies, including native technology features and WAI-ARIA + extensions. This document updates and will eventually supersede the guidance in the Core Accessibility API Mappings 1.1 [[CORE-AAM-1.1]] W3C + Recommendation. It is part of the WAI-ARIA suite described in the + WAI-ARIA Overview. +
++ The Accessible Rich Internet Applications Working Group seeks feedback on any aspect of the specification. When submitting feedback, please consider issues in the context of the companion + documents. To comment, file an issue in the W3C core-aam GitHub repository. If this is + not feasible, send email to public-aria@w3.org (comment archive). In-progress updates to the document may be viewed in the publicly visible editors' draft. +
++ The Core Accessibility API Mappings specifies how WAI-ARIA roles, states, and + [=ARIA/properties=] are expected to be exposed by user agents via platform accessibility APIs. It is part of a set of resources that + define and support the WAI-ARIA specification which includes the following documents: +
++ For an introduction to WAI-ARIA, see the + WAI-ARIA Overview. +
++ Accessibility APIs make it possible to communicate accessibility information about user interfaces to assistive + technologies. This information includes: +
+Accessibility APIs covered by this specification are:
++ The WAI-ARIA 1.0 User Agent Implementation Guide included mappings for [[UIA-EXPRESS]], also known as IAccessibleEx, + which was implemented in Microsoft Internet Explorer 8.0 - 11. New implementations are strongly encouraged to use [[[UI-AUTOMATION]]] instead. +
++ 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 various technological and historical reasons, accessibility APIs do not all work in the same way. In many cases, there is no simple one-to-one relationship between how each of them names + or exposes roles, states, and properties to assistive technologies. The following subsections describe a few of the distinguishing characteristics of some of the APIs. +
++ MSAA, IAccessible2, UIA, and AX API each define an API that is shared by both the software application exposing information about its content and interactive components, and the assistive + technology consuming that information. Conversely, Linux/GNOME separates that shared interface into its two aspects, each represented by a different accessibility API: ATK or AT-SPI. +
++ ATK defines an interface that is implemented by software in order to expose accessibility information, whereas AT-SPI is a desktop service that gathers accessibility information from + active applications and relays it to other interested applications, usually assistive technologies. +
++ For example, the GNOME GUI toolkit [GTK], implements the relevant aspects of ATK for each widget (menu, combobox, checkbox, etc.) in order that GTK widgets expose accessibility information + about themselves. AT-SPI then acquires the information from applications built with GTK and makes it available to interested parties. +
++ ATK is most relevant to implementors, whereas AT-SPI is relevant to consumers. In the context of mapping WAI-ARIA roles, states and properties, user agents are implementors and use ATK. + Assistive Technologies are consumers, and use AT-SPI. +
++ UI Automation expresses every element of the application user interface as an automation element. Automation elements form the nodes of the application accessibility tree, that can be + queried, traversed and interacted with by automation clients. +
+There are several concepts central to UI Automation:
+
+ All automation elements inherit from the IUIAutomationElement
interface and all properties that are not specific to a particular control pattern can be queried through that
+ interface. There are several ways to access UI Automation element properties:
+
Current{PropertyName}
, e.g. IUIAutomationElement::CurrentName
for the Name
propertyCached{PropertyName}
, e.g. IUIAutomationElement::CachedName
for the Name
property. Using cached values is preferred
+ when providers and clients are used in remote environments.
+ GetCurrentPropertyValue
and passing the UIA Property ID enumeration value corresponding to that property to get the current value, e.g.
+ IUIAutomationElement::GetCurrentPropertyValue(UIA_NamePropertyId)
for the Name
property.
+ GetCachedPropertyValue
and passing the UIA Property ID enumeration value corresponding to that property to get the cached value, e.g.
+ IUIAutomationElement::GetCachedPropertyValue(UIA_NamePropertyId)
for the Name
property.
+ + Properties for specific UIA control patterns are queried the same way using relevant control pattern interfaces. Taking Toggle Pattern as an example, to query the ToggleState property + clients can use IUIAutomationTogglePattern::CurrentToggleState or IUIAutomationTogglePattern::GetCurrentPropertyValue(UIA_ToggleToggleStatePropertyId) to get the current value. +
+
+ The property mappings in this specification provide the {PropertyName}
and do not specify all specific ways to access the property value. Automation clients can access current
+ or cached values using conventions described above, depending on specific needs and coding style conventions.
+
+ Each platform accessibility API includes a way to assign and retrieve accessible name and + accessible description properties for each accessible object created in the + accessibility tree. How these properties are implemented and what they are called vary depending on the API. +
+
+ For instance, in MSAA, all accessible objects support the accName
property, which stores the object's
+ accessible name. Where the object also supports having an
+ accessible description, MSAA stores this property in the object's accDescription
property.
+
+ Software using ATK can read and write to an object's accessible-name
and accessible-description
properties. In turn, AT-SPI can query the values of those
+ properties through its atspi_accessible_get_name
and atspi_accessible_get_description
functions.
+
+ Automation elements in the UIA accessibility tree have a Name
property. Where the object also supports having an
+ accessible description, UIA stores this property in the object's FullDescription
property.
+
+ The approach to accessible names and
+ accessible descriptions in AX API is somewhat different to the other platform
+ APIs. Accessible names are exposed using the AXTitle
property when the name is visually rendered, while the
+ AXDescription
property is used when the object's name is not rendered visually. An object's
+ accessible description, where provided by
+ aria-description
or aria-describedby
, should be exposed in the accessibilityCustomContent
API. Otherwise, it should be exposed as AXHelp
.
+
For more detail, see the Accessible Name and Description Computation specification.
+
+ RFC-2119 keywords are formatted in uppercase and contained in a strong
element with class="rfc2119"
. When the keywords shown above are used, but do not share this
+ format, they do not convey formal information in the RFC 2119 sense, and are merely explanatory, i.e., informative. As much as possible, such usages are avoided in this specification.
+
The indication whether a section is normative or non-normative (informative) applies to the entire section including sub-sections.
++ 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. +
++ The WAI-ARIA specification lists some features as deprecated. Although this means authors are encouraged not to use such features, it is expected + that the features could still be used in legacy content. Therefore, it is important that user agents continue to map these features to accessibility APIs, and doing so is part of conformance + to this specification. When future versions of the WAI-ARIA specification change such features from deprecated to removed, they will be removed from the mappings as well and user agents will + no longer be asked to continue support for those features. +
+While some terms are defined in place, the following definitions are used throughout this document.
++ An [=accessible object=] in the accessibility tree and its descendants in that tree. It does not include objects which have relationships other than parent-child in that tree. For + example, it does not include objects linked via aria-flowto unless those objects are also descendants in the accessibility tree. +
+
+ The action taken when an event, typically initiated by users through an input device, causes an element to fulfill a defined role. The role may be defined for that element by the
+ host language, or by author-defined variables, or both. The role for any given element may be a generic action, or may be unique to that element. For example, the activation behavior of
+ an HTML or SVG <a>
element shall be to cause the user agent to traverse
+ the link specified in the href
attribute, with the further optional parameter of specifying the browsing context for the traversal (such as the current window or tab, a
+ named window, or a new window); the activation behavior of an HTML <input>
element with the type
attribute
+ value submit
shall be to send the values of the form elements to an author-defined IRI by the author-defined
+ HTTP method.
+
+ Where supported by the platform Accessibility API, [=user agents=] expose WAI-ARIA + semantics through the standard mechanisms of the desktop accessibility API. For example, for + WAI-ARIA widgets, compare how the widget is exposed in a similar desktop widget. In general most + WAI-ARIA widget capabilities are exposed through the role, value, Boolean states, and + relations of the accessibility API. +
++ With respect to WAI-ARIA 1.0 and 1.1, accessibility APIs operate in one + direction only. User agents publish WAI-ARIA information (roles, states, and properties) via an accessibility + API, and an AT can acquire that information using the same + API. However, the other direction is not supported. WAI-ARIA 1.0 and 1.1 do + not define mechanisms for assistive technologies to directly modify WAI-ARIA information. +
++ The terms "exposing", "mapping", and "including" refer to the creation of accessible object nodes within the + accessibility tree, and populating these objects with Accessibility API specific states and [=ARIA/properties=]. +
++ WAI-ARIA roles, states, and properties are intended to add semantic information when native host language + elements with these semantics are not available, and are generally used on elements that have no native semantics of their own. They can also be used on elements that + have similar but not identical semantics to the intended object (for instance, a nested list could be used to represent a tree structure). This method can be part of a fallback strategy for + older browsers that have no WAI-ARIA implementation, or because native presentation of the repurposed element reduces the amount of + style and/or script needed. Except for the cases outlined below, [=user agents=] MUST always use the WAI-ARIA semantics to define + how it exposes the element to accessibility APIs, rather than using the host language semantics. +
+
+ Host languages can have features that have implicit WAI-ARIA semantics corresponding to roles. When a
+ WAI-ARIA role is provided that has a corresponding role in the accessibility
+ API, user agents MUST use the semantic of the WAI-ARIA role for processing,
+ not the native semantic, unless the role requires WAI-ARIA states and properties whose attributes are explicitly forbidden on the
+ native element by the host language. Values for roles do not conflict in the same way as values for states and properties, and because authors are expected to have a valid reason to provide
+ a WAI-ARIA role even on elements that would not normally be repurposed. For example, spin buttons are typically constructed from
+ text fields (<input type="text">
) in order to get most of the default keyboard support. But, the native role, "text field", is not correct because it
+ does not properly communicate the additional features of a spin button. The author adds the WAI-ARIA role of
+ spinbutton
(<input type="text" role="spinbutton" ...>
) so that the control is properly mapped in the accessibility
+ API. When a WAI-ARIA role is provided that does not have a corresponding role
+ in the accessibility API, user agents MAY expose the native semantic in addition to the
+ WAI-ARIA role. If the host language element is overridden by a
+ WAI-ARIA role whose semantics or structure is not equivalent to the native host language semantics or to a subclass of those
+ semantics, then treat any child elements having roles specified as Allowed Accessibility Child Roles as having presentation or
+ none.
+
+ The above text differs slightly from the WAI-ARIA specification. The requirement for user agents to expose the + WAI-ARIA role instead of the native role was intended to only apply in cases where there is a direct mapping from the + WAI-ARIA role to a corresponding role in the accessibility API. The wording + of the requirement is not clear in the WAI-ARIA specification, however, and has been interpreted differently by implementers. The + requirement has been clarified here and an additional statement added to indicate that user agents may expose native semantics if there is not a direct mapping to a role in the accessibility + API. Because there are differing implementations, authors will be advised against adding such + WAI-ARIA roles to native elements that have their own semantics in the + WAI-ARIA Authoring Practices Guide. +
+
+ When WAI-ARIA states and properties correspond to host language features that have the same implicit
+ WAI-ARIA semantic, it can be problematic if the values become out of sync. For example, the
+ HTML checked
attribute and the aria-checked
attribute could have conflicting values. Therefore to prevent providing
+ conflicting states and properties to assistive technologies, host languages will explicitly declare where the use of
+ WAI-ARIA attributes on a host language element conflict with native attributes for that element. When a host language declares a
+ WAI-ARIA attribute to be in direct semantic conflict with a native attribute for a given element, user
+ agents MUST ignore the WAI-ARIA attribute and instead use the host language attribute with the same implicit semantic.
+
+ Host languages might also document features that cannot be overridden with WAI-ARIA (these are called "strong native + semantics"). These can be features that have implicit WAI-ARIA semantics as well as features where the processing would be + uncertain if the semantics were changed with WAI-ARIA. While conformance checkers might signal an error or warning when a + WAI-ARIA role is used on elements with strong native semantics, user agents MUST still use the value of the semantic of the + WAI-ARIA role when exposing the element to accessibility APIs. +
++ Platform accessibility APIs might have features that are not in WAI-ARIA. Likewise, + WAI-ARIA exposes capabilities that are not supported by accessibility + APIs at the time of publication. There typically is not a one to one relationship between all + WAI-ARIA attributes and platform accessibility APIs. + When WAI-ARIA roles, states and [=ARIA/properties=] do not directly map to an + accessibility API, and there is a mechanism in the API to expose the + WAI-ARIA role, states, and properties and their values, [=user agents=] MUST expose the + WAI-ARIA data using that mechanism as follows: +
+aria-live
attribute can be exposed via an object attribute because accessibility
+ APIs have no such property available. Specific rules for exposing object attribute name-value pairs are described throughout this
+ document, and rules for the general cases are in State and Property Mapping.
+ AriaRole
and AriaProperties
properties to expose semantics that are not directly
+ supported in the control type.
+ + MSAA does not provide a mechanism for exposing attributes that do not map directly to the API and among implementers, there is no + agreement on how to do it. +
++ User agents MUST also expose the entire role string through this mechanism and MAY also expose WAI-ARIA attributes and values + through this mechanism even when there is a direct mapping to an accessibility API. +
++ Browser implementers are advised to publicly document their API methods for exposing any relevant information, so that + assistive technology developers can use the API to support user features. +
++ Platform accessibility APIs traditionally have had a finite set of predefined roles that are expected by + assistive technologies on that platform and only one or two roles may be exposed. In contrast, + WAI-ARIA allows multiple roles to be specified as an ordered set of space-separated valid role tokens. The additional roles are + fallback roles similar to the concept of specifying multiple fonts in case the first choice font type is not supported. +
++ User agents MUST expose the WAI-ARIA role string if the API supports a + mechanism to do so. This allows assistive technologies to do their own additional processing of roles. +
+accRole
property.
+ xml-roles:"string"
)AriaRole
property. The AriaRole property
can also support secondary roles using a space as a
+ separator.
+ xml-roles:"string"
)
+ + The `computedrole` of an element is a string that represents the role of the element as computed by the browser engine. The `computedrole` is used primarily for the purposes of developer + tools and specification comformance and interoperability testing. +
++ User agents provide this role string, for example, in developer tools, and in response to the WebDriver function + `getComputedRole`, which is used for + interoperability testing of ARIA, HTML-AAM, and other specifications. +
+ ++ When an element has a role but is not contained in the required context (for example, an orphaned `listitem` without the required accessible parent of role `list`), User Agents MUST ignore + the role token, and return the `computedrole` as if the ignored role token had not been included. +
+ ++ When host language elements do not have an exact or equivalent mapping to a valid, non-abstract role, the related Accessibilty API Mapping extension specification MAY specify a unique + `computedrole` string as the return value for interoperability testing purposes, such as `<video> -> "html-video"` in [[HTML-AAM]]. However, authors MUST NOT use any + host-language-prefixed `computedrole` string in the `role` attribute (such as `html-video`), unless the token also matches valid, defined role (such as `dpub-chapter`). User Agents MUST + ignore any abstract or invalid role token. +
+ +alert
ARIA Specification | +
+ alert
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_ALERT + Event: The user agent SHOULD fire EVENT_SYSTEM_ALERT . [Note 2]
+ |
+
UIA | +
+ Control Type: Group + Localized Control Type: alert + LiveSetting: Assertive (2) + Event: The user agent SHOULD fire a system alert event. [Note 2] + |
+
ATK/AT-SPI | +
+ Role: ROLE_NOTIFICATION + Event: The user agent SHOULD fire a system alert event. [Note 2] + |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXSubrole: AXApplicationAlert + Event: The user agent SHOULD fire a system alert event. [Note 2] + |
+
alertdialog
ARIA Specification | +
+ alertdialog
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_DIALOG + Event: The user agent SHOULD fire EVENT_SYSTEM_ALERT . [Note 2]
+ |
+
UIA | +
+ Control Type: Pane + Event: The user agent SHOULD fire a system alert event. [Note 2] + |
+
ATK/AT-SPI | +
+ Role: ROLE_ALERT + Interface: Window + Event: The user agent SHOULD fire a system alert event. [Note 2] + |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXSubrole: AXApplicationAlertDialog + Event: The user agent SHOULD fire a system alert event. [Note 2] + |
+
application
ARIA Specification | +
+ application
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_APPLICATION
+ |
+
UIA | +
+ Control Type: Pane + Localized Control Type: application
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_EMBEDDED
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXSubrole: AXWebApplication + |
+
article
ARIA Specification | +
+ article
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_DOCUMENT + State: STATE_SYSTEM_READONLY + Object Attribute: xml-roles:article
+ |
+
UIA | +
+ Control Type: Group + Localized Control Type: article
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_ARTICLE + Object Attribute: xml-roles:article
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXSubrole: AXDocumentArticle + |
+
banner
ARIA Specification | +
+ banner
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: IA2_ROLE_LANDMARK + Object Attribute: xml-roles:banner
+ |
+
UIA | +
+ Control Type: Group + Localized Control Type: banner + Landmark Type: Custom + Localized Landmark Type: banner
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_LANDMARK + Object Attribute: xml-roles:banner
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXSubrole: AXLandmarkBanner + |
+
blockquote
ARIA Specification | +
+ blockquote
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_GROUPING + Role: IA2_ROLE_BLOCK_QUOTE
+ |
+
UIA | +
+ Control Type: Group + Localized Control Type: blockquote
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_BLOCK_QUOTE + |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXSubrole: <nil> + |
+
button
with default values for aria-pressed
and aria-haspopup
ARIA Specification | +
+ button with default values for aria-pressed and
+ aria-haspopup
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_PUSHBUTTON
+ |
+
UIA | +
+ Control Type: Button
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_PUSH_BUTTON
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXButton + AXSubrole: <nil> + |
+
button
with non-false
value for aria-haspopup
ARIA Specification | +
+ button with non-false value for aria-haspopup
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_BUTTONMENU
+ |
+
UIA | +
+ Control Type: Button
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_PUSH_BUTTON
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXPopUpButton + AXSubrole: <nil> + |
+
button
with defined value for aria-pressed
ARIA Specification | +
+ button with defined value for aria-pressed
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_PUSHBUTTON + Role: IA2_ROLE_TOGGLE_BUTTON
+ |
+
UIA | +
+ Control Type: Button
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_TOGGLE_BUTTON
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXCheckBox + AXSubrole: AXToggle + |
+
caption
ARIA Specification | +
+ caption
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_GROUPING + Role: IA2_ROLE_CAPTION
+ |
+
UIA | +
+ Control Type: Text
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_CAPTION
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXSubrole: <nil> + |
+
cell
ARIA Specification | +
+ cell
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_CELL + Interface: IAccessibleTableCell
+ |
+
UIA | +
+ Control Type: DataItem + Localized Control Type: item + Control Pattern: GridItem + Control Pattern: TableItem
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_TABLE_CELL + Interface: TableCell
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXCell + AXSubrole: <nil> + |
+
checkbox
ARIA Specification | +
+ checkbox
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_CHECKBUTTON + See also: aria-checked in the State and Property Mapping Tables
+ |
+
UIA | +
+ Control Type: Checkbox + See also: aria-checked in the State and Property Mapping Tables
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_CHECK_BOX + See also: aria-checked in the State and Property Mapping Tables
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXCheckBox + AXSubrole: <nil> + See also: aria-checked in the State and Property Mapping Tables
+ |
+
code
ARIA Specification | +
+ code
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: IA2_ROLE_TEXT_FRAME + Object Attribute: xml-roles:code
+ |
+
UIA | +
+ Control Type: Text + Localized Control Type: code
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_STATIC + Object Attribute: xml-roles:code
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXSubrole: AXCodeStyleGroup + |
+
columnheader
ARIA Specification | +
+ columnheader
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_COLUMNHEADER + Interface: IAccessibleTableCell
+ |
+
UIA | +
+ Control Type: DataItem + Localized Control Type: column header + Control Pattern: GridItem + Control Pattern: TableItem
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_COLUMN_HEADER + Interface: TableCell
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXCell + AXSubrole: <nil> + |
+
combobox
ARIA Specification | +
+ combobox
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_COMBOBOX + State: STATE_SYSTEM_HASPOPUP + State: STATE_SYSTEM_COLLAPSED if aria-expanded is not "true"
+ |
+
UIA | +
+ Control Type: Combobox
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_COMBO_BOX + State: STATE_EXPANDABLE + State: STATE_HAS_POPUP
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXComboBox + AXSubrole: <nil> + |
+
comment
ARIA Specification | +
+ comment
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: IA2_ROLE_COMMENT + Object Attribute: xml-roles:comment
+ |
+
UIA | +
+ Control Type: Group + Localized Control Type: comment + |
+
ATK/AT-SPI | +
+ Role: ROLE_COMMENT + Object Attribute: xml-roles:comment
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + |
+
complementary
ARIA Specification | +
+ complementary
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: IA2_ROLE_LANDMARK + Object Attribute: xml-roles:complementary
+ |
+
UIA | +
+ Control Type: Group + Localized Control Type: complementary + Landmark Type: Custom + Localized Landmark Type: complementary
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_LANDMARK + Object Attribute: xml-roles:complementary
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXSubrole: AXLandmarkComplementary + |
+
contentinfo
ARIA Specification | +
+ contentinfo
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: IA2_ROLE_LANDMARK + Object Attribute: xml-roles:contentinfo
+ |
+
UIA | +
+ Control Type: Group + Localized Control Type: content information + Landmark Type: Custom + Localized Landmark Type: content information
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_LANDMARK + Object Attribute: xml-roles:contentinfo
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXSubrole: AXLandmarkContentInfo + |
+
definition
ARIA Specification | +
+ definition
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Object Attribute: xml-roles:definition
+ |
+
UIA | +
+ Control Type: Group + Localized Control Type: definition
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_DESCRIPTION_VALUE + Object Attribute: xml-roles:definition
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXSubrole: AXDefinition + |
+
deletion
ARIA Specification | +
+ deletion
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: IA2_ROLE_CONTENT_DELETION
+ |
+
UIA | +
+ Control Type: Text + Localized Control Type: deletion
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_CONTENT_DELETION + Object Attribute: xml-roles:deletion
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXSubrole: AXDeleteStyleGroup + AXAttributedStringForTextMarkerRange: contains AXIsSuggestedDeletion = 1; for all text contained in a deletion
+ |
+
dialog
ARIA Specification | +
+ dialog
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_DIALOG
+ |
+
UIA | +
+ Control Type: Pane
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_DIALOG + Interface: Window
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXSubrole: AXApplicationDialog + |
+
directory
ARIA Specification | +
+ directory
+ |
+
---|---|
Computed Role | +
+ list + |
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_LIST
+ |
+
UIA | +
+ Control Type: List
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_LIST
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXList + AXSubrole: AXContentList + |
+
document
ARIA Specification | +
+ document
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_DOCUMENT + State: STATE_SYSTEM_READONLY
+ |
+
UIA | +
+ Control Type: Document
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_DOCUMENT_FRAME
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXSubrole: AXDocument + |
+
emphasis
ARIA Specification | +
+ emphasis
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: IA2_ROLE_TEXT_FRAME + Object Attribute: xml-roles:emphasis
+ |
+
UIA | +
+ Control Type: Text + Localized Control Type: emphasis
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_STATIC + Object Attribute: xml-roles:emphasis
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXSubrole: AXEmphasisStyleGroup + |
+
feed
ARIA Specification | +
+ feed
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_GROUPING + Object Attribute: xml-roles:feed
+ |
+
UIA | +
+ Control Type: Group + Localized Control Type: feed
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_PANEL + Object Attribute: xml-roles:feed
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXSubrole: AXApplicationGroup + |
+
figure
ARIA Specification | +
+ figure
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_GROUPING + Object Attribute: xml-roles:figure
+ |
+
UIA | +
+ Control Type: Group + Localized Control Type: figure
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_PANEL + Object Attribute: xml-roles:figure
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXSubrole: <nil> + |
+
form
with an accessible nameARIA Specification | +
+ form with an accessible name
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: IA2_ROLE_FORM + Object Attribute: xml-roles:form
+ |
+
UIA | +
+ Control Type: Group + Localized Control Type: form + Landmark Type: Form
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_LANDMARK + Object Attribute: xml-roles:form
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXSubrole: AXLandmarkForm + |
+
form
without an accessible nameARIA Specification | +
+ form without an accessible name
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | ++ Do not expose the element as a landmark. Use the native host language role of the element instead. + | +
UIA | ++ Do not expose the element as a landmark. Use the native host language role of the element instead. + | +
ATK/AT-SPI | ++ Do not expose the element as a landmark. Use the native host language role of the element instead. + | +
+ AX API[Note 1] + | ++ Do not expose the element as a landmark. Use the native host language role of the element instead. + | +
generic
ARIA Specification | +
+ generic
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_GROUPING + Role: IA2_ROLE_SECTION
+ |
+
UIA | +
+ Control Type: Group
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_SECTION + |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXSubrole: <nil> + |
+
grid
ARIA Specification | +
+ grid
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_TABLE + Object Attribute: xml-roles:grid + Interface: IAccessibleTable2 + Method: IAccessible::accSelect() + Method: IAccessible::get_accSelection()
+ |
+
UIA | +
+ Control Type: DataGrid + Control Pattern: Grid + Control Pattern: Table + Control Pattern: Selection
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_TABLE + Object Attribute: xml-roles:grid + Interface: Table + Interface: Selection
+
+ Because WAI-ARIA does not support modifying the selection via the accessibility API, user agents MUST return
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXTable + AXSubrole: <nil> + AXColumnHeaderUIElements: a list of pointers to the columnheader elements + AXHeader: a pointer to the row or group containing those columnheader elements + AXRowHeaderUIElements: a list of pointers to the rowheader elements + |
+
gridcell
ARIA Specification | +
+ gridcell
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_CELL + Interface: IAccessibleTableCell
+ |
+
UIA | +
+ Control Type: DataItem + Localized Control Type: item + Control Pattern: SelectionItem + Control Pattern: GridItem + Control Pattern: TableItem + SelectionItem.SelectionContainer: the containing grid
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_TABLE_CELL + Interface: TableCell
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXCell + AXSubrole: <nil> + |
+
group
ARIA Specification | +
+ group
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_GROUPING
+ |
+
UIA | +
+ Control Type: Group
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_PANEL
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXSubrole: AXApplicationGroup + |
+
heading
ARIA Specification | +
+ heading
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: IA2_ROLE_HEADING + Object Attribute: xml-roles:heading
+ |
+
UIA | +
+ Control Type: Text + Localized Control Type: heading
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_HEADING
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXHeading + AXSubrole: <nil> + |
+
image
ARIA Specification | +
+ image
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_GRAPHIC + Interface: IAccessibleImage
+ |
+
UIA | +
+ Control Type: Image
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_IMAGE + Interface: Image
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXImage + AXSubrole: <nil> + |
+
img
ARIA Specification | +
+ img
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_GRAPHIC + Interface: IAccessibleImage
+ |
+
UIA | +
+ Control Type: Image
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_IMAGE + Interface: Image
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXImage + AXSubrole: <nil> + |
+
insertion
ARIA Specification | +
+ insertion
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: IA2_ROLE_CONTENT_INSERTION
+ |
+
UIA | +
+ Control Type: Text + Localized Control Type: insertion
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_CONTENT_INSERTION + Object Attribute: xml-roles:insertion
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXSubrole: AXInsertStyleGroup + AXAttributedStringForTextMarkerRange: contains AXIsSuggestedInsertion = 1; for all text contained in a insertion
+ |
+
link
ARIA Specification | +
+ link
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_LINK + State: STATE_SYSTEM_LINKED + State: STATE_SYSTEM_LINKED on its descendants+ Interface: IAccessibleHypertext
+ |
+
UIA | +
+ Control Type: HyperLink + Control Pattern: Value
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_LINK + Interface: HyperlinkImpl
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXLink + AXSubrole: <nil> + |
+
list
ARIA Specification | +
+ list
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_LIST + State: STATE_SYSTEM_READONLY
+ |
+
UIA | +
+ Control Type: List
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_LIST
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXList + AXSubrole: AXContentList + |
+
listbox
without an accessibility parent of combobox
ARIA Specification | +
+ listbox
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_LIST + Method: IAccessible::accSelect() + Method: IAccessible::get_accSelection()
+ |
+
UIA | +
+ Control Type: List + Control Pattern: Selection
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_LIST_BOX + Interface: Selection
+
+ Because WAI-ARIA does not support modifying the selection via the accessibility API, user agents MUST return
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXList + AXSubrole: <nil> + |
+
listbox
with an accessibility parent of combobox
ARIA Specification | +
+ listbox
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_LIST + Method: IAccessible::accSelect() + Method: IAccessible::get_accSelection()
+ |
+
UIA | +
+ Control Type: List + Control Pattern: Selection
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_MENU + Interface: Selection
+
+ Because WAI-ARIA does not support modifying the selection via the accessibility API, user agents MUST return
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXList + AXSubrole: <nil> + |
+
listitem
ARIA Specification | +
+ listitem
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_LISTITEM + State: STATE_SYSTEM_READONLY
+ |
+
UIA | +
+ Control Type: ListItem + Control Pattern: SelectionItem + SelectionItem.SelectionContainer: the containing list
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_LIST_ITEM
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXSubrole: <nil> + |
+
log
ARIA Specification | +
+ log
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Object Attribute: xml-roles:log + Object Attribute: container-live:polite + Object Attribute: live:polite + Object Attribute: container-live-role:log
+ |
+
UIA | +
+ Control Type: Group + Localized Control Type: log + LiveSetting: Polite (1)
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_LOG + Object Attribute: xml-roles:log + Object Attribute: container-live:polite + Object Attribute: live:polite + Object Attribute: container-live-role:log
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXSubrole: AXApplicationLog + |
+
main
ARIA Specification | +
+ main
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: IA2_ROLE_LANDMARK + Object Attribute: xml-roles:main
+ |
+
UIA | +
+ Control Type: Group + Localized Control Type: main + Landmark Type: Main
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_LANDMARK + Object Attribute: xml-roles:main
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXSubrole: AXLandmarkMain + |
+
mark
ARIA Specification | +
+ mark
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_GROUPING + Role: IA2_ROLE_MARK + Object Attribute: xml-roles:mark
+ |
+
UIA | +
+ Control Type: Group
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_MARK + Object Attribute: xml-roles:mark
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXRoleDescription: highlight + AXAttributedStringForTextMarkerRange: contains AXHighlight = 1; for all text contained in a mark
+ |
+
marquee
ARIA Specification | +
+ marquee
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_ANIMATION + Object Attribute: xml-roles:marquee + Object Attribute: container-live:off + Object Attribute: live:off
+ |
+
UIA | +
+ Control Type: Group + Localized Control Type: marquee + LiveSetting: Off (0)
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_MARQUEE + Object Attribute: container-live:off + Object Attribute: live:off
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXSubrole: AXApplicationMarquee + |
+
math
ARIA Specification | +
+ math
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_EQUATION
+ |
+
UIA | +
+ Control Type: Group + Localized Control Type: math
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_MATH
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXSubrole: AXDocumentMath + |
+
menu
ARIA Specification | +
+ menu
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_MENUPOPUP + Method: IAccessible::accSelect() + Method: IAccessible::get_accSelection()
+ |
+
UIA | +
+ Control Type: Menu
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_MENU + Interface: Selection
+
+ Because WAI-ARIA does not support modifying the selection via the accessibility API, user agents MUST return
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXMenu + AXSubrole: <nil> + |
+
menubar
ARIA Specification | +
+ menubar
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_MENUBAR + Method: IAccessible::accSelect() + Method: IAccessible::get_accSelection()
+ |
+
UIA | +
+ Control Type: MenuBar
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_MENU_BAR + Interface: Selection
+
+ Because WAI-ARIA does not support modifying the selection via the accessibility API, user agents MUST return
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXMenuBar + AXSubrole: <nil> + |
+
menuitem
ARIA Specification | +
+ menuitem
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_MENUITEM
+ |
+
UIA | +
+ Control Type: MenuItem
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_MENU_ITEM
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXMenuItem + AXSubrole: <nil> + |
+
menuitemcheckbox
ARIA Specification | +
+ menuitemcheckbox
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_CHECKBUTTON or ROLE_SYSTEM_MENUITEM + Role: IA2_ROLE_CHECK_MENU_ITEM + See also: aria-checked in the State and Property Mapping Tables
+ |
+
UIA | +
+ Control Type: MenuItem + Control Pattern: Toggle + See also: aria-checked in the State and Property Mapping Tables
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_CHECK_MENU_ITEM + See also: aria-checked in the State and Property Mapping Tables
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXMenuItem + AXSubrole: <nil> + See also: aria-checked in the State and Property Mapping Tables
+ |
+
menuitemradio
ARIA Specification | +
+ menuitemradio
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_RADIOBUTTON or ROLE_SYSTEM_MENUITEM + Role: IA2_ROLE_RADIO_MENU_ITEM + See also: aria-checked in the State and Property Mapping Tables
+ |
+
UIA | +
+ Control Type: MenuItem + Control Pattern: Toggle + Control Pattern: SelectionItem + See also: aria-checked in the State and Property Mapping Tables
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_RADIO_MENU_ITEM + See also: aria-checked in the State and Property Mapping Tables
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXMenuItem + AXSubrole: <nil> + See also: aria-checked in the State and Property Mapping Tables
+ |
+
meter
ARIA Specification | +
+ meter
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: IA2_ROLE_LEVEL_BAR + Interface: IAccessibleValue
+ |
+
UIA | +
+ Control Type: ProgressBar + Localized Control Type: meter + Control Pattern: RangeValue
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_LEVEL_BAR + Interface: Value
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXLevelIndicator + AXSubrole: AXMeter + |
+
navigation
ARIA Specification | +
+ navigation
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: IA2_ROLE_LANDMARK + Object Attribute: xml-roles:navigation
+ |
+
UIA | +
+ Control Type: Group + Localized Control Type: navigation + Landmark Type: Navigation
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_LANDMARK + Object Attribute: xml-roles:navigation
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXSubrole: AXLandmarkNavigation + |
+
none
ARIA Specification | +
+ none
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+
+ For objects that have specified allowed accessibility children (e.g., a grid with gridcell children, a list with listitem children), and the descendant is in the
+ accessibility tree, expose it as |
+
UIA | +
+
+ For objects that have specified allowed accessibility children (e.g., a grid with gridcell children, a list with listitem children), and the descendant is in the
+ accessibility tree, expose it using the |
+
ATK/AT-SPI | +
+
+ For objects that have specified allowed accessibility children (e.g., a grid with gridcell children, a list with listitem children), and the descendant is in the
+ accessibility tree, expose it as |
+
+ AX API[Note 1] + | +
+
+ For objects that have specified allowed accessibility children (e.g., a grid with gridcell children, a list with listitem children), and the descendant is in the
+ accessibility tree, expose it as |
+
note
ARIA Specification | +
+ note
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: IA2_ROLE_NOTE
+ |
+
UIA | +
+ Control Type: Group + Localized Control Type: note
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_COMMENT
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXSubrole: AXDocumentNote + |
+
option
not inside combobox
ARIA Specification | +
+ option not inside combobox
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_LISTITEM + See also: aria-checked in the State and Property Mapping Tables
+ |
+
UIA | +
+ Control Type: ListItem + Control Pattern: Invoke + See also: aria-checked in the State and Property Mapping Tables
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_LIST_ITEM + See also: aria-checked in the State and Property Mapping Tables+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXStaticText + AXSubrole: <nil> + See also: aria-checked in the State and Property Mapping Tables
+ |
+
option
inside combobox
ARIA Specification | +
+ option inside combobox
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_LISTITEM + See also: aria-checked in the State and Property Mapping Tables
+ |
+
UIA | +
+ Control Type: ListItem + Control Pattern: Invoke + See also: aria-checked in the State and Property Mapping Tables
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_MENU_ITEM + See also: aria-checked in the State and Property Mapping Tables+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXStaticText + AXSubrole: <nil> + See also: aria-checked in the State and Property Mapping Tables
+ |
+
paragraph
ARIA Specification | +
+ paragraph
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_GROUPING + Role: IA2_ROLE_PARAGRAPH
+ |
+
UIA | +
+ Control Type: Text
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_PARAGRAPH
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXSubrole: <nil> + |
+
presentation
ARIA Specification | +
+ presentation
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+
+ For objects that have specified allowed accessibility children (e.g., a grid with gridcell children, a list with listitem children), and the descendant is in the
+ accessibility tree, expose it as |
+
UIA | +
+
+ For objects that have specified allowed accessibility children (e.g., a grid with gridcell children, a list with listitem children), and the descendant is in the
+ accessibility tree, expose it using the |
+
ATK/AT-SPI | +
+
+ For objects that have specified allowed accessibility children (e.g., a grid with gridcell children, a list with listitem children), and the descendant is in the
+ accessibility tree, expose it as |
+
+ AX API[Note 1] + | +
+
+ For objects that have specified allowed accessibility children (e.g., a grid with gridcell children, a list with listitem children), and the descendant is in the
+ accessibility tree, expose it as |
+
progressbar
ARIA Specification | +
+ progressbar
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_PROGRESSBAR + State: STATE_SYSTEM_READONLY + Interface: IAccessibleValue
+ |
+
UIA | +
+ Control Type: ProgressBar + Control Pattern: RangeValue if aria-valuenow , aria-valuemax , or aria-valuemin is present
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_PROGRESS_BAR + Interface: Value
+
+ Because WAI-ARIA does not support modifying the value via the accessibility API, user agents MUST return
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXProgressIndicator + AXSubrole: <nil> + |
+
radio
ARIA Specification | +
+ radio
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_RADIOBUTTON + See also: aria-checked in the State and Property Mapping Tables
+ |
+
UIA | +
+ Control Type: RadioButton + Control Pattern: Toggle + Control Pattern: SelectionItem + See also: aria-checked in the State and Property Mapping Tables
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_RADIO_BUTTON + See also: aria-checked in the State and Property Mapping Tables
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXRadioButton + AXSubrole: <nil> + See also: aria-checked in the State and Property Mapping Tables
+ |
+
radiogroup
ARIA Specification | +
+ radiogroup
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_GROUPING
+ |
+
UIA | +
+ Control Type: List
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_PANEL
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXRadioGroup + AXSubrole: <nil> + |
+
region
with an accessible nameARIA Specification | +
+ region with an accessible name
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: IA2_ROLE_LANDMARK + Object Attribute: xml-roles:region
+ |
+
UIA | +
+ Control Type: Group + Localized Control Type: region + Landmark Type: Custom + Localized Landmark Type: region
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_LANDMARK + Object Attribute: xml-roles:region
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXSubrole: AXLandmarkRegion + |
+
region
without an accessible nameARIA Specification | +
+ region without an accessible name
+ |
+
---|---|
Computed Role | +
+ Use native host language role. + |
+
MSAA + IAccessible2 | ++ Do not expose the element as a landmark. Use the native host language role of the element instead. + | +
UIA | ++ Do not expose the element as a landmark. Use the native host language role of the element instead. + | +
ATK/AT-SPI | ++ Do not expose the element as a landmark. Use the native host language role of the element instead. + | +
+ AX API[Note 1] + | ++ Do not expose the element as a landmark. Use the native host language role of the element instead. + | +
row
not inside treegrid
ARIA Specification | +
+ row not inside treegrid
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_ROW
+ |
+
UIA | +
+ Control Type: DataItem + Localized Control Type: row + Control Pattern: SelectionItem
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_TABLE_ROW
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXRow + AXSubrole: <nil> + |
+
row
inside treegrid
ARIA Specification | +
+ row inside treegrid
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_OUTLINEITEM
+ |
+
UIA | +
+ Control Type: DataItem + Localized Control Type: row + Control Pattern: SelectionItem
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_TABLE_ROW
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXRow + AXSubrole: <nil> + |
+
rowgroup
ARIA Specification | +
+ rowgroup
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_GROUPING
+ |
+
UIA | +
+ Control Type: Group
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_PANEL
+ |
+
+ AX API[Note 1] + | ++ Not mapped + | +
rowheader
ARIA Specification | +
+ rowheader
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_ROWHEADER + Interface: IAccessibleTableCell
+ |
+
UIA | +
+ Control Type: HeaderItem
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_ROW_HEADER + Interface: TableCell
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXCell + AXSubrole: <nil> + |
+
scrollbar
ARIA Specification | +
+ scrollbar
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_SCROLLBAR + Interface: IAccessibleValue
+ |
+
UIA | +
+ Control Type: ScrollBar + Control Pattern: RangeValue
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_SCROLL_BAR + Interface: Value
+
+ Because WAI-ARIA does not support modifying the value via the accessibility API, user agents MUST return
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXScrollBar + AXSubrole: <nil> + |
+
search
ARIA Specification | +
+ search
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: IA2_ROLE_LANDMARK + Object Attribute: xml-roles:search
+ |
+
UIA | +
+ Control Type: Group + Localized Control Type: search + Landmark Type: Search
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_LANDMARK + Object Attribute: xml-roles:search
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXSubrole: AXLandmarkSearch + |
+
searchbox
ARIA Specification | +
+ searchbox
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_TEXT + Object Attribute: text-input-type:search
+ |
+
UIA | +
+ Control Type: Edit + Localized Control Type: search box
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_ENTRY + Object Attribute: xml-roles:searchbox + Interface: EditableText if aria-readonly is not "true"
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXTextField + AXSubrole: AXSearchField + |
+
separator
(non-focusable)ARIA Specification | +
+ separator (non-focusable)
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_SEPARATOR
+ |
+
UIA | +
+ Control Type: Separator
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_SEPARATOR
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXSplitter + AXSubrole: <nil> + |
+
separator
(focusable)ARIA Specification | +
+ separator (focusable)
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_SEPARATOR + Interface: IAccessibleValue
+ |
+
UIA | +
+ Control Type: Thumb + Control Pattern: RangeValue
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_SEPARATOR + Interface: Value
+
+ Because WAI-ARIA does not support modifying the value via the accessibility API, user agents MUST return
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXSplitter + AXSubrole: <nil> + |
+
slider
ARIA Specification | +
+ slider
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_SLIDER + Interface: IAccessibleValue
+ |
+
UIA | +
+ Control Type: Slider + Control Pattern: RangeValue
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_SLIDER + Interface: Value
+
+ Because WAI-ARIA does not support modifying the value via the accessibility API, user agents MUST return
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXSlider + AXSubrole: <nil> + |
+
spinbutton
ARIA Specification | +
+ spinbutton
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_SPINBUTTON + Interface: IAccessibleValue
+ |
+
UIA | +
+ Control Type: Spinner + Control Pattern: RangeValue
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_SPIN_BUTTON + Interface: Value
+
+ Because WAI-ARIA does not support modifying the value via the accessibility API, user agents MUST return
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXIncrementor + AXSubrole: <nil> + |
+
status
ARIA Specification | +
+ status
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_STATUSBAR + Object Attribute: container-live:polite + Object Attribute: live:polite + Object Attribute: container-live-role:status
+ |
+
UIA | +
+ Control Type: Group + Localized Control Type: status + LiveSetting: Polite (1)
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_STATUSBAR + Object Attribute: container-live:polite + Object Attribute: live:polite + Object Attribute: container-live-role:status
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXSubrole: AXApplicationStatus + |
+
strong
ARIA Specification | +
+ strong
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: IA2_ROLE_TEXT_FRAME + Object Attribute: xml-roles:strong
+ |
+
UIA | +
+ Control Type: Text + Localized Control Type: strong
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_STATIC + Object Attribute: xml-roles:strong
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXSubrole: AXStrongStyleGroup + |
+
subscript
ARIA Specification | +
+ subscript
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_GROUPING + Role: IA2_ROLE_TEXT_FRAME + Text Attribute: text-position:sub
+ |
+
UIA | +
+ Control Type: Text + Styles used are exposed by IsSubscript attribute of the TextRange Control Pattern implemented on the accessible object.
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_SUBSCRIPT
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXSubrole: AXSubscriptStyleGroup + |
+
suggestion
ARIA Specification | +
+ suggestion
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: IA2_ROLE_SUGGESTION + Object Attribute: xml-roles:suggestion
+ |
+
UIA | +
+ Control Type: Group + Localized Control Type: suggestion + |
+
ATK/AT-SPI | +
+ Role: ROLE_SUGGESTION + Object Attribute: xml-roles:suggestion
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXAttributedStringForTextMarkerRange: contains AXIsSuggestion = 1; for all text contained in a suggestion
+ |
+
superscript
ARIA Specification | +
+ superscript
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_GROUPING + Role: IA2_ROLE_TEXT_FRAME + Text Attribute: text-position:super
+ |
+
UIA | +
+ Control Type: Text + Styles used are exposed by IsSuperscript attribute of the TextRange Control Pattern implemented on the accessible object.
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_SUPERSCRIPT
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXSubrole: AXSuperscriptStyleGroup + |
+
switch
ARIA Specification | +
+ switch
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_CHECKBUTTON + Role: IA2_ROLE_TOGGLE_BUTTON + Object Attribute: xml-roles:switch + See also: aria-checked in the State and Property Mapping Tables
+ |
+
UIA | +
+ Control Type: Button + Localized Control Type: toggleswitch + Control Pattern: Toggle + See also: aria-checked in the State and Property Mapping Tables
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_TOGGLE_BUTTON + Object Attribute: xml-roles:switch + See also: aria-checked in the State and Property Mapping Tables
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXCheckBox + AXSubrole: AXSwitch + See also: aria-checked in the State and Property Mapping Tables
+ |
+
tab
ARIA Specification | +
+ tab
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_PAGETAB + State: STATE_SYSTEM_SELECTED if focus is inside tabpanel associated with
+ aria-labelledby
+ |
+
UIA | +
+ Control Type: TabItem
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_PAGE_TAB + State: STATE_SELECTED if focus is inside tabpanel associated with
+ aria-labelledby
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXRadioButton + AXSubrole: AXTabButton + |
+
table
ARIA Specification | +
+ table
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_TABLE + Object Attribute: xml-roles:table + Interface: IAccessibleTable2
+ |
+
UIA | +
+ Control Type: Table + Control Pattern: Grid + Control Pattern: Table
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_TABLE + Object Attribute: xml-roles:table + Interface: Table
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXTable + AXSubrole: <nil> + AXColumnHeaderUIElements: a list of pointers to the columnheader elements + AXHeader: a pointer to the row or group containing those columnheader elements + AXRowHeaderUIElements: a list of pointers to the rowheader elements + |
+
tablist
ARIA Specification | +
+ tablist
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_PAGETABLIST + Method: IAccessible::accSelect() + Method: IAccessible::get_accSelection()
+ |
+
UIA | +
+ Control Type: Tab + Control Pattern: Selection
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_PAGE_TAB_LIST + Interface: Selection
+
+ Because WAI-ARIA does not support modifying the selection via the accessibility API, user agents MUST return
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXTabGroup + AXSubrole: <nil> + |
+
tabpanel
ARIA Specification | +
+ tabpanel
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_PANE or ROLE_SYSTEM_PROPERTYPAGE
+ |
+
UIA | +
+ Control Type: Pane
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_SCROLL_PANE
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXSubrole: AXTabPanel + |
+
term
ARIA Specification | +
+ term
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: IA2_ROLE_TEXT_FRAME + Object Attribute: xml-roles:term
+ |
+
UIA | +
+ Control Type: Text + Localized Control Type: term
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_DESCRIPTION_TERM
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXSubrole: AXTerm + |
+
textbox
when aria-multiline
is false
ARIA Specification | +
+ textbox when aria-multiline is false
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_TEXT + State: IA2_STATE_SINGLE_LINE
+ |
+
UIA | +
+ Control Type: Edit
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_ENTRY + State: STATE_SINGLE_LINE + Interface: EditableText if aria-readonly is not "true"
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXTextField + AXSubrole: <nil> + |
+
textbox
when aria-multiline
is true
ARIA Specification | +
+ textbox when aria-multiline is true
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_TEXT + State: IA2_STATE_MULTI_LINE
+ |
+
UIA | +
+ Control Type: Edit
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_ENTRY + State: STATE_MULTI_LINE + Interface: EditableText if aria-readonly is not "true"
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXTextArea + AXSubrole: <nil> + |
+
time
ARIA Specification | +
+ time
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_GROUPING + Object Attribute: xml-roles:time
+ |
+
UIA | +
+ Control Type: Text + Localized Control Type: time + Note: create a separate UIA Control of type Text. This is different from most UIA text mappings, which only create ranges in the page text pattern. + |
+
ATK/AT-SPI | +
+ Role: ROLE_STATIC + Object Attribute: xml-roles:time
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXSubrole: AXTimeGroup + |
+
timer
ARIA Specification | +
+ timer
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Object Attribute: xml-roles:timer + Object Attribute: container-live:off + Object Attribute: live:off + Object Attribute: container-live-role:timer
+ |
+
UIA | +
+ Control Type: Group + Localized Control Type: timer + LiveSetting: Off (0)
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_TIMER + Object Attribute: container-live:off + Object Attribute: live:off + Object Attribute: container-live-role:timer
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXSubrole: AXApplicationTimer + |
+
toolbar
ARIA Specification | +
+ toolbar
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_TOOLBAR
+ |
+
UIA | +
+ Control Type: ToolBar
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_TOOL_BAR
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXToolbar + AXSubrole: <nil> + |
+
tooltip
ARIA Specification | +
+ tooltip
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_TOOLTIP
+ |
+
UIA | +
+ Control Type: ToolTip
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_TOOL_TIP
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXGroup + AXSubrole: AXUserInterfaceTooltip + |
+
tree
ARIA Specification | +
+ tree
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_OUTLINE + Method: IAccessible::accSelect() + Method: IAccessible::get_accSelection()
+ |
+
UIA | +
+ Control Type: Tree
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_TREE + Interface: Selection
+
+ Because WAI-ARIA does not support modifying the selection via the accessibility API, user agents MUST return
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXOutline + AXSubrole: <nil> + |
+
treegrid
ARIA Specification | +
+ treegrid
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_OUTLINE + Interface: IAccessibleTable2 + Method: IAccessible::accSelect() + Method: IAccessible::get_accSelection()
+ |
+
UIA | +
+ Control Type: DataGrid
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_TREE_TABLE + Interface: Table + Interface: Selection
+
+ Because WAI-ARIA does not support modifying the selection via the accessibility API, user agents MUST return
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXTable + AXSubrole: <nil> + |
+
treeitem
ARIA Specification | +
+ treeitem
+ |
+
---|---|
Computed Role | +
+
|
+
MSAA + IAccessible2 | +
+ Role: ROLE_SYSTEM_OUTLINEITEM + See also: aria-checked in the State and Property Mapping Tables
+ |
+
UIA | +
+ Control Type: TreeItem + See also: aria-checked in the State and Property Mapping Tables
+ |
+
ATK/AT-SPI | +
+ Role: ROLE_TREE_ITEM + See also: aria-checked in the State and Property Mapping Tables
+ |
+
+ AX API[Note 1] + | +
+ AXRole: AXRow + AXSubrole: AXOutlineRow + See also: aria-checked in the State and Property Mapping Tables
+ |
+
+ [Note 1] + User agent should return a user-presentable, localized string value for the AXRoleDescription. +
++ [Note 2] This specification does not currently contain guidance for when user agents should fire system alert events. Some guidance may be added to the specification at a + later date but it will be a recommendation (SHOULD), not a requirement (MUST). +
+This section describes how to expose WAI-ARIA states and [=ARIA/properties=].
+VISIBLE
/INVISIBLE
, SHOWING
/OFFSCREEN
, etc. This typically is done
+ in the same way as for ordinary elements that do not have WAI-ARIA attributes present. The
+ FOCUSABLE
/FOCUSED
states may be affected by aria-activedescendant
.
+ aria-labelledby
attribute but the native HTML semantics must still
+ be exposed.
+ aria-checked="true"
is specified on <div role="grid">
, it should not be exposed in
+ MSAA implementations as STATE_SYSTEM_CHECKED
.
+ none
or presentation
is applied to an element, the user agent MUST implement the rules for the
+ none
or the presentation
role defined in
+ Accessible Rich Internet Applications (WAI-ARIA) 1.2 [[!WAI-ARIA-1.2]]].
+ + There are a number of occurrences in the table where a given state or property is declared "Not mapped". In some cases, this occurs for the default value of the state/property, and is + equivalent to its absence. User agents might find it quicker to map the value than check to see if it is the default. For computational efficiency, user agents MAY expose the state or + property value if doing so is equivalent to not mapping it. These cases are marked with an asterisk. +
+
+ In other cases, it is mandatory that the state/property not be mapped, since exposing it implies a related affordance. An example is
+ aria-grabbed
. Its absence not only indicates that the accessible object is not grabbed, but further defines it as not grab-able. These cases are marked as "Not mapped" without an asterisk.
+
aria-activedescendant
ARIA Specification | +
+ aria-activedescendant
+ |
+
---|---|
MSAA + IAccessible2 | +See Focus Changes. | +
UIA | +See Focus Changes. | +
ATK/AT-SPI | +See Focus Changes. | +
AX API | +
+ See Focus Changes. + Property: AXSelectedRows : pointer to active descendant node
+ |
+
aria-atomic
=true
ARIA Specification | +
+ aria-atomic =true
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Object Attribute: atomic:true + Object Attribute: container-atomic:true + Object Attribute: container-atomic:true on all descendants+ Relation: IA2_RELATION_MEMBER_OF pointing to this element (the atomic root)+ See also: Changes to document content or node visibility + |
+
UIA | +
+ Property: AriaProperties.atomic : true + See also: Changes to document content or node visibility + |
+
ATK/AT-SPI | +
+ Object Attribute: atomic:true + Object Attribute: container-atomic:true + Object Attribute: container-atomic:true on all descendants+ Relation: RELATION_MEMBER_OF pointing to this element (the atomic root)+ See also: Changes to document content or node visibility + |
+
AX API | +
+ Property: AXARIAAtomic : YES + See also: Changes to document content or node visibility + |
+
aria-atomic
=false
ARIA Specification | +
+ aria-atomic =false
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Not mapped*, but if mapped: + Object Attribute: atomic:false + Object Attribute: container-atomic:false + Object Attribute: container-atomic:false on all descendants+ Relation: IA2_RELATION_MEMBER_OF pointing to this element (the atomic root)+ See also: Changes to document content or node visibility + |
+
UIA | +
+ Property: AriaProperties.atomic : false + See also: Changes to document content or node visibility + |
+
ATK/AT-SPI | +
+ Not mapped*, but if mapped: + Object Attribute: atomic:false + Object Attribute: container-atomic:false + Object Attribute: container-atomic:false on all descendants+ Relation: RELATION_MEMBER_OF pointing to this element (the atomic root)+ See also: Changes to document content or node visibility + |
+
AX API | +
+ Property: AXARIAAtomic : NO + See also: Changes to document content or node visibility + |
+
aria-autocomplete
=inline
, list
, or both
ARIA Specification | +
+ aria-autocomplete =inline , list , or both
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Object Attribute: autocomplete:<value> + State: IA2_STATE_SUPPORTS_AUTOCOMPLETION
+ |
+
UIA | ++ Not mapped + | +
ATK/AT-SPI | +
+ Object Attribute: autocomplete:<value> + State: STATE_SUPPORTS_AUTOCOMPLETION
+ |
+
AX API | ++ Not mapped + | +
aria-autocomplete
=none
ARIA Specification | +
+ aria-autocomplete =none
+ |
+
---|---|
MSAA + IAccessible2 | ++ Not mapped* + | +
UIA | ++ Not mapped* + | +
ATK/AT-SPI | ++ Not mapped* + | +
AX API | ++ Not mapped* + | +
aria-braillelabel
ARIA Specification | +
+ aria-braillelabel
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Object Attribute: braillelabel:<value>
+ |
+
UIA | +
+ Property: AriaProperties.braillelabel : <value>
+ |
+
ATK/AT-SPI | +
+ Object Attribute: braillelabel:<value>
+ |
+
AX API | ++ Property: AXBrailleLabel + | +
aria-brailleroledescription
ARIA Specification | +
+ aria-brailleroledescription
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Object Attribute: brailleroledescription:<value>
+ |
+
UIA | +
+ Property: AriaProperties.brailleroledescription : <value>
+ |
+
ATK/AT-SPI | +
+ Object Attribute: brailleroledescription:<value>
+ |
+
AX API | ++ Property: AXBrailleRoleDescription + | +
aria-brailleroledescription
is undefined or the empty stringARIA Specification | +
+ aria-brailleroledescription is undefined or the empty string
+ |
+
---|---|
MSAA + IAccessible2 | ++ Not mapped + | +
UIA | ++ Not mapped + | +
ATK/AT-SPI | ++ Not mapped + | +
AX API | ++ Not mapped + | +
aria-busy
=true
ARIA Specification | +
+ aria-busy =true
+ |
+
---|---|
MSAA + IAccessible2 | +
+ State: STATE_SYSTEM_BUSY
+ |
+
UIA | +
+ Property: AriaProperties.busy : true
+ |
+
ATK/AT-SPI | +
+ State: STATE_BUSY
+ |
+
AX API | +
+ Property: AXElementBusy : YES
+ |
+
aria-busy
=false
ARIA Specification | +
+ aria-busy =false
+ |
+
---|---|
MSAA + IAccessible2 | +
+ State: STATE_SYSTEM_BUSY not exposed
+ |
+
UIA | +
+ Property: AriaProperties.busy : false
+ |
+
ATK/AT-SPI | +
+ State: STATE_BUSY not exposed
+ |
+
AX API | +
+ Property: AXElementBusy : NO
+ |
+
aria-checked
=true
ARIA Specification | +
+ aria-checked =true
+ |
+
---|---|
MSAA + IAccessible2 | +
+ State: STATE_SYSTEM_CHECKED + Object Attribute: checkable:true
+ |
+
UIA | +
+ Property: Toggle.ToggleState : On (1) + Property: SelectionItem.IsSelected : True for radio and menuitemradio
+ |
+
ATK/AT-SPI | +
+ State: STATE_CHECKABLE + State: STATE_CHECKED
+ |
+
AX API | +
+ Property: AXValue : 1 + Property: AXMenuItemMarkChar : ✓ for menuitemcheckbox and menuitemradio
+ |
+
aria-checked
=false
ARIA Specification | +
+ aria-checked =false
+ |
+
---|---|
MSAA + IAccessible2 | +
+ State: STATE_SYSTEM_CHECKED not exposed+ Object Attribute: checkable:true
+ |
+
UIA | +
+ Property: Toggle.ToggleState : Off (0) + Property: SelectionItem.IsSelected : False for radio and menuitemradio
+ |
+
ATK/AT-SPI | +
+ State: STATE_CHECKABLE + State: STATE_CHECKED not exposed
+ |
+
AX API | +
+ Property: AXValue : 0 + Property: AXMenuItemMarkChar : <nil> for menuitemcheckbox and menuitemradio
+ |
+
aria-checked
=mixed
ARIA Specification | +
+ aria-checked =mixed
+ |
+
---|---|
MSAA + IAccessible2 | +
+ State: STATE_SYSTEM_MIXED + Object Attribute: checkable:true
+ |
+
UIA | +
+ Property: Toggle.ToggleState : Indeterminate (2)
+ |
+
ATK/AT-SPI | +
+ State: STATE_INDETERMINATE + State: STATE_CHECKABLE + State: STATE_CHECKED not exposed
+ |
+
AX API | +
+ Property: AXValue : 2 + Property: AXMenuItemMarkChar : <nil> for menuitemcheckbox and menuitemradio
+ |
+
aria-checked
is undefinedARIA Specification | +
+ aria-checked is undefined
+ |
+
---|---|
MSAA + IAccessible2 | ++ Not mapped + | +
UIA | ++ Not mapped + | +
ATK/AT-SPI | ++ Not mapped + | +
AX API | ++ Not mapped + | +
aria-colcount
ARIA Specification | +
+ aria-colcount
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Object Attribute: colcount:<value> + Method: IAccessible2::groupPosition() : similarItemsInGroup=<value> on cells and headers
+ |
+
UIA | +
+ Property: Grid.ColumnCount : <value>
+ |
+
ATK/AT-SPI | +
+ Object Attribute: colcount should contain the author-provided value.+ Method: atk_table_get_n_columns() should return the actual number of columns.
+ |
+
AX API | +
+ Property: AXARIAColumnCount : <value>
+ |
+
aria-colindex
ARIA Specification | +
+ aria-colindex
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Object Attribute: colindex:<value> + Method: IAccessible2::groupPosition() : positionInGroup=<value> on cells and headers
+ |
+
UIA | +
+ Property: GridItem.Column : <value> (zero-based)
+ |
+
ATK/AT-SPI | +
+ Object Attribute: colindex should contain the author-provided value.+ Method: atk_table_cell_get_position() should return the actual (zero-based) column index.
+ |
+
AX API | +
+ Property: AXARIAColumnIndex : <value>
+ |
+
aria-colindextext
ARIA Specification | +
+ aria-colindextext
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Object Attribute: colindextext:<value>
+ |
+
UIA | +
+ Property: AriaProperties.colindextext : <value>
+ |
+
ATK/AT-SPI | +
+ Object Attribute: colindextext:<value>
+ |
+
AX API | ++ Property: TBD + | +
aria-colspan
ARIA Specification | +
+ aria-colspan
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Object Attribute: colspan:<value> + Method: IAccessibleTableCell::columnExtent() : <value>
+ |
+
UIA | +
+ Property: GridItem.ColumnSpan : <value>
+ |
+
ATK/AT-SPI | +
+ Object Attribute: colspan should contain the author-provided value.+ Method: atk_table_cell_get_row_column_span() should return the actual column span.
+ |
+
AX API | +
+ Property: AXColumnIndexRange.length : <value>
+ |
+
aria-controls
ARIA Specification | +
+ aria-controls
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Relation: IA2_RELATION_CONTROLLER_FOR points to accessible nodes matching IDREFs+ Reverse Relation: IA2_RELATION_CONTROLLED_BY points to element+ See also: Mapping Additional Relations + |
+
UIA | +
+ Property: ControllerFor : pointers to accessible nodes matching IDREFs
+ |
+
ATK/AT-SPI | +
+ Relation: RELATION_CONTROLLER_FOR points to accessible nodes matching IDREFs+ Reverse Relation: RELATION_CONTROLLED_BY points to element+ See also: Mapping Additional Relations + |
+
AX API | +
+ Property: AXLinkedUIElements : pointers to accessible nodes matching IDREFs
+ |
+
aria-current
with non-false
allowed valueARIA Specification | +
+ aria-current with non-false allowed value
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Object Attribute: current:<value>
+ |
+
UIA | +
+ Property: AriaProperties.current : <value>
+ |
+
ATK/AT-SPI | +
+ Object Attribute: current:<value> + State: STATE_ACTIVE
+ |
+
AX API | +
+ Property: AXARIACurrent : <value>
+ |
+
aria-current
with unrecognized valueARIA Specification | +
+ aria-current with unrecognized value
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Object Attribute: current:true
+ |
+
UIA | +
+ Property: AriaProperties.current : true
+ |
+
ATK/AT-SPI | +
+ Object Attribute: current:true + State: STATE_ACTIVE
+ |
+
AX API | +
+ Property: AXARIACurrent : true
+ |
+
aria-current
is false
or undefinedARIA Specification | +
+ aria-current is false or undefined
+ |
+
---|---|
MSAA + IAccessible2 | ++ Not mapped* + | +
UIA | ++ Not mapped* + | +
ATK/AT-SPI | ++ Not mapped* + | +
AX API | ++ Not mapped* + | +
aria-describedby
ARIA Specification | +
+ aria-describedby
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Property: accDescription : <value> + Relation: IA2_RELATION_DESCRIBED_BY points to accessible nodes matching IDREFs, if the referenced objects are in the accessibility tree+ Reverse Relation: IA2_RELATION_DESCRIPTION_FOR points to element+ See also: Name Computation and Mapping Additional Relations + |
+
UIA | +
+ Property: FullDescription : <value> + See also: Name Computation + |
+
ATK/AT-SPI | +
+ Property: Description : <value> + Relation: RELATION_DESCRIBED_BY points to accessible nodes matching IDREFs, if the referenced objects are in the accessibility tree+ Reverse Relation: RELATION_DESCRIPTION_FOR points to element+ See also: Name Computation and Mapping Additional Relations + |
+
AX API | +
+ In the accessibilityCustomContent API, expose as an AXCustomContent object with { label: "description" } and `value ` set to the description
+ string.+ - See also: Name Computation + |
+
aria-description
ARIA Specification | +
+ aria-description
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Property: accDescription : <value> + See also: Name Computation + |
+
UIA | +
+ Property: FullDescription : <value> + See also: Name Computation + |
+
ATK/AT-SPI | +
+ Property: Description : <value> + See also: Name Computation + |
+
AX API | +
+ In the accessibilityCustomContent API, expose as an AXCustomContent object with { label: "description" } and `value ` set to the description
+ string.+ See also: Name Computation + |
+
aria-details
ARIA Specification | +
+ aria-details
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Relation: IA2_RELATION_DETAILS points to accessible nodes matching IDREFs, if the referenced objects are in the accessibility tree+ Reverse Relation: IA2_RELATION_DETAILS_FOR points to element+ See also: Mapping Additional Relations + |
+
UIA | +
+ Property: DescribedBy : points to accessible nodes matching IDREFs, if the referenced objects are in the accessibility tree
+ |
+
ATK/AT-SPI | +
+ Relation: RELATION_DETAILS points to accessible nodes matching IDREFs, if the referenced objects are in the accessibility tree+ Reverse Relation: RELATION_DETAILS_FOR points to element+ See also: Mapping Additional Relations + |
+
AX API | ++ Not mapped* + | +
aria-disabled
=true
ARIA Specification | +
+ aria-disabled =true
+ |
+
---|---|
MSAA + IAccessible2 | +
+ State: STATE_SYSTEM_UNAVAILABLE + State: STATE_SYSTEM_UNAVAILABLE on all descendants with STATE_SYSTEM_FOCUSABLE
+ |
+
UIA | +
+ Property: IsEnabled : false
+ |
+
ATK/AT-SPI | +
+ State: STATE_ENABLED not exposed
+ |
+
AX API | +
+ Property: AXEnabled : NO
+ |
+
aria-disabled
=false
ARIA Specification | +
+ aria-disabled =false
+ |
+
---|---|
MSAA + IAccessible2 | +
+ State: STATE_SYSTEM_UNAVAILABLE not exposed
+ |
+
UIA | +
+ Property: IsEnabled : true
+ |
+
ATK/AT-SPI | +
+ State: STATE_ENABLED
+ |
+
AX API | +
+ Property: AXEnabled : YES
+ |
+
aria-dropeffect
=copy
, move
, link
, execute
, or popup
ARIA Specification | +
+ aria-dropeffect =copy , move , link , execute , or popup
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Object Attribute: dropeffect:<value>
+ |
+
UIA | +
+ Property: AriaProperties.dropeffect : <value>
+ |
+
ATK/AT-SPI | +
+ Object Attribute: dropeffect:<value>
+ |
+
AX API | +
+ array AXDropEffects
+ |
+
aria-dropeffect
=none
ARIA Specification | +
+ aria-dropeffect =none
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Object Attribute: dropeffect:none if there are no other valid tokens+ Not mapped* if not specified by the author + |
+
UIA | ++ Not mapped* + | +
ATK/AT-SPI | +
+ Object Attribute: dropeffect:none if there are no other valid tokens+ Not mapped* if not specified by the author + |
+
AX API | ++ Not mapped* + | +
aria-errormessage
ARIA Specification | +
+ aria-errormessage
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Relation: IA2_RELATION_ERROR points to accessible nodes matching IDREFs, if the referenced objects are in the accessibility tree+ Reverse Relation: IA2_RELATION_ERROR_FOR points to element+ See also: Mapping Additional Relations + |
+
UIA | +
+ Property: ControllerFor : pointer to the target accessible object
+ |
+
ATK/AT-SPI | +
+ Relation: RELATION_ERROR_MESSAGE points to accessible nodes matching IDREFs, if the referenced objects are in the accessibility tree+ Reverse Relation: RELATION_ERROR_FOR points to element+ See also: Mapping Additional Relations + |
+
AX API | +
+ Property: AXErrorMessageElements : pointers to accessible nodes matching IDREFs
+ |
+
aria-expanded
=true
ARIA Specification | +
+ aria-expanded =true
+ |
+
---|---|
MSAA + IAccessible2 | +
+ State: STATE_SYSTEM_EXPANDED
+ |
+
UIA | +
+ Property: ExpandCollapse.ExpandCollapseState : Expanded
+ |
+
ATK/AT-SPI | +
+ State: STATE_EXPANDABLE + State: STATE_EXPANDED
+ |
+
AX API | +
+ Property: AXExpanded : YES
+ |
+
aria-expanded
=false
ARIA Specification | +
+ aria-expanded =false
+ |
+
---|---|
MSAA + IAccessible2 | +
+ State: STATE_SYSTEM_COLLAPSED
+ |
+
UIA | +
+ Property: ExpandCollapse.ExpandCollapseState : Collapsed
+ |
+
ATK/AT-SPI | +
+ State: STATE_EXPANDABLE + State: STATE_EXPANDED not exposed
+ |
+
AX API | +
+ Property: AXExpanded : NO
+ |
+
aria-expanded
is undefinedARIA Specification | +
+ aria-expanded is undefined
+ |
+
---|---|
MSAA + IAccessible2 | ++ Not mapped + | +
UIA | ++ Not mapped + | +
ATK/AT-SPI | ++ Not mapped + | +
AX API | ++ Not mapped + | +
aria-flowto
ARIA Specification | +
+ aria-flowto
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Relation: IA2_RELATION_FLOW_TO points to accessible nodes matching IDREFs+ Reverse Relation: IA2_RELATION_FLOW_FROM points to element+ See also: Mapping Additional Relations + |
+
UIA | +
+ Property: FlowsTo : pointers to accessible nodes matching IDREFs
+ |
+
ATK/AT-SPI | +
+ Relation: RELATION_FLOWS_TO points to accessible nodes matching IDREFs+ Reverse Relation: RELATION_FLOWS_FROM points to element+ See also: Mapping Additional Relations + |
+
AX API | +
+ Property: AXLinkedUIElements : pointers to accessible nodes matching IDREFs
+ |
+
aria-grabbed
=true
ARIA Specification | +
+ aria-grabbed =true
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Object Attribute: grabbed:true
+ |
+
UIA | +
+ Property: AriaProperties.grabbed : true
+ |
+
ATK/AT-SPI | +
+ Object Attribute: grabbed:true
+ |
+
AX API | +
+ Property: AXGrabbed : YES
+ |
+
aria-grabbed
=false
ARIA Specification | +
+ aria-grabbed =false
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Object Attribute: grabbed:false
+ |
+
UIA | +
+ Property: AriaProperties.grabbed : false
+ |
+
ATK/AT-SPI | +
+ Object Attribute: grabbed:false
+ |
+
AX API | +
+ Property: AXGrabbed : NO
+ |
+
aria-grabbed
is undefinedARIA Specification | +
+ aria-grabbed is undefined
+ |
+
---|---|
MSAA + IAccessible2 | ++ Not mapped + | +
UIA | ++ Not mapped + | +
ATK/AT-SPI | ++ Not mapped + | +
AX API | ++ Not mapped + | +
aria-haspopup
=true
ARIA Specification | +
+ aria-haspopup =true
+ |
+
---|---|
MSAA + IAccessible2 | +
+ State: STATE_SYSTEM_HASPOPUP + Object Attribute: haspopup:menu
+ |
+
UIA | +
+ Control Pattern: ExpandCollapse
+ See also: aria-expanded
+ |
+
ATK/AT-SPI | +
+ State: STATE_HAS_POPUP + Object Attribute: haspopup:menu
+ |
+
AX API | +
+ Property: AXPopupValue:menu + Action: AXShowMenu
+ |
+
aria-haspopup
=false
ARIA Specification | +
+ aria-haspopup =false
+ |
+
---|---|
MSAA + IAccessible2 | +
+ State: STATE_SYSTEM_HASPOPUP not exposed+ Object Attribute: haspopup:false
+ |
+
UIA | ++ Not mapped* + | +
ATK/AT-SPI | ++ Not mapped* + | +
AX API | ++ Not mapped* + | +
aria-haspopup
=dialog
ARIA Specification | +
+ aria-haspopup =dialog
+ |
+
---|---|
MSAA + IAccessible2 | +
+ State: STATE_SYSTEM_HASPOPUP + Object Attribute: haspopup:dialog
+ |
+
UIA | +
+ Control Pattern: ExpandCollapse + See also: aria-expanded
+ |
+
ATK/AT-SPI | +
+ State: STATE_HAS_POPUP + Object Attribute: haspopup:dialog
+ |
+
AX API | +
+ Property: AXPopupValue:dialog + Action: AXShowMenu
+ |
+
aria-haspopup
=grid
ARIA Specification | +
+ aria-haspopup =grid
+ |
+
---|---|
MSAA + IAccessible2 | +
+ State: STATE_SYSTEM_HASPOPUP + Object Attribute: haspopup:grid
+ |
+
UIA | +
+ Control Pattern: ExpandCollapse + See also: aria-expanded
+ |
+
ATK/AT-SPI | +
+ State: STATE_HAS_POPUP + Object Attribute: haspopup:grid
+ |
+
AX API | +
+ Property: AXPopupValue:grid + Action: AXShowMenu
+ |
+
aria-haspopup
=listbox
ARIA Specification | +
+ aria-haspopup =listbox
+ |
+
---|---|
MSAA + IAccessible2 | +
+ State: STATE_SYSTEM_HASPOPUP + Object Attribute: haspopup:listbox
+ |
+
UIA | +
+ Control Pattern: ExpandCollapse + See also: aria-expanded
+ |
+
ATK/AT-SPI | +
+ State: STATE_HAS_POPUP + Object Attribute: haspopup:listbox
+ |
+
AX API | +
+ Property: AXPopupValue:listbox + Action: AXShowMenu
+ |
+
aria-haspopup
=menu
ARIA Specification | +
+ aria-haspopup =menu
+ |
+
---|---|
MSAA + IAccessible2 | +
+ State: STATE_SYSTEM_HASPOPUP + Object Attribute: haspopup:menu
+ |
+
UIA | +
+ Control Pattern: ExpandCollapse + See also: aria-expanded
+ |
+
ATK/AT-SPI | +
+ State: STATE_HAS_POPUP + Object Attribute: haspopup:menu
+ |
+
AX API | +
+ Property: AXPopupValue:menu + Action: AXShowMenu
+ |
+
aria-haspopup
=tree
ARIA Specification | +
+ aria-haspopup =tree
+ |
+
---|---|
MSAA + IAccessible2 | +
+ State: STATE_SYSTEM_HASPOPUP + Object Attribute: haspopup:tree
+ |
+
UIA | +
+ Control Pattern: ExpandCollapse + See also: aria-expanded
+ |
+
ATK/AT-SPI | +
+ State: STATE_HAS_POPUP + Object Attribute: haspopup:tree
+ |
+
AX API | +
+ Property: AXPopupValue:tree + Action: AXShowMenu
+ |
+
aria-hidden
=true
on unfocused elementARIA Specification | +
+ aria-hidden =true on unfocused element
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Element SHOULD NOT be exposed + See also: Including Elements in the Accessibility Tree in the WAI-ARIA specification + |
+
UIA | +
+ Element SHOULD NOT be exposed + See also: Including Elements in the Accessibility Tree in the WAI-ARIA specification + |
+
ATK/AT-SPI | +
+ Element SHOULD NOT be exposed + See also: Including Elements in the Accessibility Tree in the WAI-ARIA specification + |
+
AX API | +
+ Element SHOULD NOT be exposed + See also: Including Elements in the Accessibility Tree in the WAI-ARIA specification + |
+
aria-hidden
=true
when element is focused or fires an accessibility eventARIA Specification | +
+ aria-hidden =true when element is focused or fires an accessibility event
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Object Attribute: hidden:true + See also: Including Elements in the Accessibility Tree in the WAI-ARIA specification + |
+
UIA | +
+ Property: AriaProperties.hidden : true + See also: Including Elements in the Accessibility Tree in the WAI-ARIA specification + |
+
ATK/AT-SPI | +
+ Object Attribute: hidden:true + See also: Including Elements in the Accessibility Tree in the WAI-ARIA specification + |
+
AX API | +
+ Not mapped + See also: Including Elements in the Accessibility Tree in the WAI-ARIA specification + |
+
aria-hidden
=false
ARIA Specification | +
+ aria-hidden =false
+ |
+
---|---|
MSAA + IAccessible2 | ++ Not mapped + | +
UIA | ++ Not mapped + | +
ATK/AT-SPI | ++ Not mapped + | +
AX API | ++ Not mapped + | +
aria-invalid
=true
ARIA Specification | +
+ aria-invalid =true
+ |
+
---|---|
MSAA + IAccessible2 | +
+ State: IA2_STATE_INVALID_ENTRY + Text Attribute: invalid:true
+ |
+
UIA | +
+ Property: IsDataValidForForm : false
+ |
+
ATK/AT-SPI | +
+ State: STATE_INVALID_ENTRY + Text Attribute: invalid:true
+ |
+
AX API | +
+ Property: AXInvalid : true
+ |
+
aria-invalid
=false
ARIA Specification | +
+ aria-invalid =false
+ |
+
---|---|
MSAA + IAccessible2 | +
+ State: IA2_STATE_INVALID_ENTRY not exposed
+ |
+
UIA | +
+ Property: IsDataValidForForm : true
+ |
+
ATK/AT-SPI | +
+ State: STATE_INVALID_ENTRY not exposed
+ |
+
AX API | +
+ Property: AXInvalid : false
+ |
+
aria-invalid
=spelling
or grammar
ARIA Specification | +
+ aria-invalid =spelling or grammar
+ |
+
---|---|
MSAA + IAccessible2 | +
+ State: IA2_STATE_INVALID_ENTRY + Text Attribute: invalid:<value>
+ |
+
UIA | +
+ Property: IsDataValidForForm : <value>
+ |
+
ATK/AT-SPI | +
+ State: STATE_INVALID_ENTRY + Text Attribute: invalid:<value>
+ |
+
AX API | +
+ Property: AXInvalid : <value>
+ |
+
aria-invalid
with unrecognized valueARIA Specification | +
+ aria-invalid with unrecognized value
+ |
+
---|---|
MSAA + IAccessible2 | +
+ State: IA2_STATE_INVALID_ENTRY + Text Attribute: invalid:true
+ |
+
UIA | +
+ Property: IsDataValidForForm : false
+ |
+
ATK/AT-SPI | +
+ State: STATE_INVALID_ENTRY + Text Attribute: invalid:true
+ |
+
AX API | +
+ Property: AXInvalid : true
+ |
+
aria-keyshortcuts
ARIA Specification | +
+ aria-keyshortcuts
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Property: accKeyboardShortcut : <value>
+ |
+
UIA | +
+ Property: AcceleratorKey : <value>
+ |
+
ATK/AT-SPI | +
+ Object Attribute: keyshortcuts:<value>
+ |
+
AX API | +
+ Property: AXKeyShortcutsValue : <value>
+ |
+
aria-label
ARIA Specification | +
+ aria-label
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Property: accName : <value> + See also: Name Computation + |
+
UIA | +
+ Property: Name : <value> + See also: Name Computation + |
+
ATK/AT-SPI | +
+ Property: Name : <value> + See also: Name Computation + |
+
AX API | +
+ Property: AXDescription : <value> + See also: Name Computation + |
+
aria-labelledby
ARIA Specification | +
+ aria-labelledby
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Property: accName : <value> + Relation: IA2_RELATION_LABELLED_BY points to accessible nodes matching IDREFs, if the referenced objects are in the accessibility tree+ Reverse Relation: IA2_RELATION_LABEL_FOR points to element+ See also: Name Computation and Mapping Additional Relations + |
+
UIA | +
+ Property: Name : <value> + Property: LabeledBy : points to accessible nodes matching IDREFs, if the referenced objects are in the accessibility tree+ See also: Name Computation + |
+
ATK/AT-SPI | +
+ Property: Name : <value> + Relation: RELATION_LABELLED_BY points to accessible nodes matching IDREFs, if the referenced objects are in the accessibility tree+ Reverse Relation: RELATION_LABEL_FOR points to element+ See also: Name Computation and Mapping Additional Relations + |
+
AX API | +
+ Property: AXDescription : <value> if the value is not exposed visually+ Property: AXTitle : <value> if the value is exposed visually+ Property: AXTitleUIElement points to accessible node matching IDREF, if there is a single referenced element that is in the accessibility tree+ See also: Name Computation + |
+
aria-level
on non-heading
ARIA Specification | +
+ aria-level on non-heading
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Object Attribute: level:<value> + Method: IAccessible2::groupPosition() : groupLevel=<value> on roles that support aria-posinset and aria-setsize + See also: groupPosition()
+ |
+
UIA | +
+ Property: AriaProperties.level : <value>
+ |
+
ATK/AT-SPI | +
+ Object Attribute: level:<value>
+ |
+
AX API | +
+ Property: AXDisclosureLevel : <value> (zero-based), when used on an outline row (like a
+ treeitem or group )
+ |
+
aria-level
on heading
ARIA Specification | +
+ aria-level on heading
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Object Attribute: level:<value>
+ |
+
UIA | +
+ Property: AriaProperties.level : <value> + Property: StyleId_Heading : <value>
+ |
+
ATK/AT-SPI | +
+ Object Attribute: level:<value>
+ |
+
AX API | +
+ Property: AXValue : <value>
+ |
+
aria-live
=assertive
ARIA Specification | +
+ aria-live =assertive
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Object Attribute: live:assertive + Object Attribute: container-live:assertive + Object Attribute: container-live:assertive on all descendants+ See also: Changes to document content or node visibility + |
+
UIA | +
+ Property: : "assertive" + See also: Changes to document content or node visibility + |
+
ATK/AT-SPI | +
+ Object Attribute: live:assertive + Object Attribute: container-live:assertive + Object Attribute: container-live:assertive on all descendants+ See also: Changes to document content or node visibility + |
+
AX API | +
+ Property: AXARIALive : "assertive" + See also: Changes to document content or node visibility + |
+
aria-live
=polite
ARIA Specification | +
+ aria-live =polite
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Object Attribute: live:polite + Object Attribute: container-live:polite + Object Attribute: container-live:polite on all descendants+ See also: Changes to document content or node visibility + |
+
UIA | +
+ Property: : "polite" + See also: Changes to document content or node visibility + |
+
ATK/AT-SPI | +
+ Object Attribute: live:polite + Object Attribute: container-live:polite + Object Attribute: container-live:polite on all descendants+ See also: Changes to document content or node visibility + |
+
AX API | +
+ Property: AXARIALive : "polite" + See also: Changes to document content or node visibility + |
+
aria-live
=off
ARIA Specification | +
+ aria-live =off
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Object Attribute: live:off + Object Attribute: container-live:off + Object Attribute: container-live:off on all descendants
+ |
+
UIA | +
+ Property: : "off"
+ |
+
ATK/AT-SPI | +
+ Object Attribute: live:off + Object Attribute: container-live:off + Object Attribute: container-live:off on all descendants+ |
+
AX API | +
+ Property: AXARIALive : "off"
+ |
+
aria-modal
=true
ARIA Specification | +
+ aria-modal =true
+ |
+
---|---|
MSAA + IAccessible2 | +
+ State: IA2_STATE_MODAL
+ |
+
UIA | +
+ Property: Window.IsModal : true + |
+
ATK/AT-SPI | +
+ State: STATE_MODAL
+ |
+
AX API | +
+ Prune the accessibility tree such that the background content is no longer exposed. No specific property is set on the accessible object that corresponds to
+ the element with aria-modal="true" . Only the tree whose root is that modal accessible object is exposed.
+ |
+
aria-modal
=false
ARIA Specification | +
+ aria-modal =false
+ |
+
---|---|
MSAA + IAccessible2 | +
+ State: IA2_STATE_MODAL not exposed
+ |
+
UIA | +
+ Property: Window.IsModal : false + |
+
ATK/AT-SPI | +
+ State: STATE_MODAL not exposed
+ |
+
AX API | +
+ Grow the accessibility tree such that the background content is exposed. No specific property is set on the accessible object that corresponds to the
+ element with aria-modal="false" .
+ |
+
aria-multiline
=true
ARIA Specification | +
+ aria-multiline =true
+ |
+
---|---|
MSAA + IAccessible2 | +
+ State: IA2_STATE_MULTI_LINE + State: IA2_STATE_SINGLE_LINE not exposed
+ |
+
UIA | +
+ Property: AriaProperties.multiline : true
+ |
+
ATK/AT-SPI | +
+ State: STATE_MULTI_LINE + State: STATE_SINGLE_LINE not exposed
+ |
+
AX API | +
+ Not mapped + See also: textbox in the Role Mapping Tables
+ |
+
aria-multiline
=false
ARIA Specification | +
+ aria-multiline =false
+ |
+
---|---|
MSAA + IAccessible2 | +
+ State: IA2_STATE_SINGLE_LINE + State: IA2_STATE_MULTI_LINE not exposed
+ |
+
UIA | ++ Not mapped + | +
ATK/AT-SPI | +
+ State: STATE_SINGLE_LINE + State: STATE_MULTI_LINE not exposed
+ |
+
AX API | +
+ Not mapped + See also: textbox in the Role Mapping Tables
+ |
+
aria-multiselectable
=true
ARIA Specification | +
+ aria-multiselectable =true
+ |
+
---|---|
MSAA + IAccessible2 | +
+ State: STATE_SYSTEM_MULTISELECTABLE + State: STATE_SYSTEM_EXTSELECTABLE + See also: Selection for details on accessibility events + |
+
UIA | +
+ Property: Selection.CanSelectMultiple : true + See also: Selection for details on accessibility events + |
+
ATK/AT-SPI | +
+ State: STATE_MULTISELECTABLE + See also: Selection for details on accessibility events + |
+
AX API | +
+ Not mapped + See also: Selection for details on accessibility events + |
+
aria-multiselectable
=false
ARIA Specification | +
+ aria-multiselectable =false
+ |
+
---|---|
MSAA + IAccessible2 | +
+ State: STATE_SYSTEM_MULTISELECTABLE not exposed+ State: STATE_SYSTEM_EXTSELECTABLE not exposed+ See also: Selection for details on accessibility events + |
+
UIA | ++ Not mapped* + | +
ATK/AT-SPI | +
+ State: STATE_MULTISELECTABLE not exposed
+ |
+
AX API | ++ Not mapped* + | +
aria-orientation
=horizontal
ARIA Specification | +
+ aria-orientation =horizontal
+ |
+
---|---|
MSAA + IAccessible2 | +
+ State: IA2_STATE_HORIZONTAL + State: IA2_STATE_VERTICAL not exposed
+ |
+
UIA | +
+ Property: Orientation : horizontal
+ |
+
ATK/AT-SPI | +
+ State: STATE_HORIZONTAL + State: STATE_VERTICAL not exposed
+ |
+
AX API | +
+ Property: AXOrientation : AXHorizontalOrientation
+ |
+
aria-orientation
=vertical
ARIA Specification | +
+ aria-orientation =vertical
+ |
+
---|---|
MSAA + IAccessible2 | +
+ State: IA2_STATE_VERTICAL + State: IA2_STATE_HORIZONTAL not exposed
+ |
+
UIA | +
+ Property: Orientation : vertical
+ |
+
ATK/AT-SPI | +
+ State: STATE_VERTICAL + State: STATE_HORIZONTAL not exposed
+ |
+
AX API | +
+ Property: AXOrientation : AXVerticalOrientation
+ |
+
aria-orientation
is undefinedARIA Specification | +
+ aria-orientation is undefined
+ |
+
---|---|
MSAA + IAccessible2 | ++ Not mapped* + | +
UIA | ++ Not mapped* + | +
ATK/AT-SPI | +
+ State: STATE_VERTICAL not exposed+ State: STATE_HORIZONTAL not exposed
+ |
+
AX API | +
+ Property: AXOrientation : AXUnknownOrientation
+ |
+
aria-owns
ARIA Specification | +
+ aria-owns
+ |
+
---|---|
MSAA + IAccessible2 | +
+
+ User agents MAY expose the elements that are referenced by this property as children of the current element. In which case, if multiple
+ IA2_RELATION_NODE_PARENT_OF points to accessible nodes matching IDREFs, if the referenced objects are in the accessibility tree+ Reverse Relation: IA2_RELATION_NODE_CHILD_OF points to element+ See also: Mapping Additional Relations + |
+
UIA | +
+ Expose the elements that are referenced by this property as children of the current element. If multiple
+ aria-owns relationships are found, use only the first one.
+ |
+
ATK/AT-SPI | +
+
+ User agents MAY expose the elements that are referenced by this property as children of the current element. In which case, if multiple
+ RELATION_NODE_PARENT_OF points to accessible nodes matching IDREFs, if the referenced objects are in the accessibility tree+ Reverse Relation: RELATION_NODE_CHILD_OF points to element+ See also: Mapping Additional Relations + |
+
AX API | +
+ Property: AXOwns : pointers to accessible nodes matching IDREFs
+ |
+
aria-placeholder
ARIA Specification | +
+ aria-placeholder
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Object Attribute: placeholder-text:<value>
+ |
+
UIA | +
+ Property: HelpText : <value>
+ |
+
ATK/AT-SPI | +
+ Object Attribute: placeholder-text:<value>
+ |
+
AX API | +
+ Property: AXPlaceholderValue : <value>
+ |
+
aria-posinset
ARIA Specification | +
+ aria-posinset
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Object Attribute: posinset:<value> + See also: Group Position + |
+
UIA | +
+ Property: AriaProperties.posinset : <value> + See also: Group Position + |
+
ATK/AT-SPI | +
+ Object Attribute: posinset:<value> + See also: Group Position + |
+
AX API | +
+ Property: AXARIAPosInSet : <value> + See also: Group Position + |
+
aria-pressed
=true
ARIA Specification | +
+ aria-pressed =true
+ |
+
---|---|
MSAA + IAccessible2 | +
+ State: STATE_SYSTEM_PRESSED + See also: button with defined value for aria-pressed
+ |
+
UIA | +
+ Property: Toggle.ToggleState : On (1)
+ |
+
ATK/AT-SPI | +
+ State: STATE_PRESSED + See also: button with defined value for aria-pressed
+ |
+
AX API | +
+ Property: AXValue : 1 + See also: button with defined value for aria-pressed
+ |
+
aria-pressed
=mixed
ARIA Specification | +
+ aria-pressed =mixed
+ |
+
---|---|
MSAA + IAccessible2 | +
+ State: STATE_SYSTEM_MIXED + See also: button with defined value for aria-pressed
+ |
+
UIA | +
+ Property: Toggle.ToggleState : Indeterminate (2)
+ |
+
ATK/AT-SPI | +
+ State: STATE_INDETERMINATE + See also: button with defined value for aria-pressed
+ |
+
AX API | +
+ Property: AXValue : 2 + See also: button with defined value for aria-pressed
+ |
+
aria-pressed
=false
ARIA Specification | +
+ aria-pressed =false
+ |
+
---|---|
MSAA + IAccessible2 | +
+ State: STATE_SYSTEM_PRESSED not exposed+ See also: button with defined value for aria-pressed
+ |
+
UIA | +
+ Property: Toggle.ToggleState : Off (3)
+ |
+
ATK/AT-SPI | +
+ State: STATE_PRESSED not exposed+ See also: button with defined value for aria-pressed
+ |
+
AX API | +
+ Property: AXValue : 0 + See also: button with defined value for aria-pressed
+ |
+
aria-pressed
is undefinedARIA Specification | +
+ aria-pressed is undefined
+ |
+
---|---|
MSAA + IAccessible2 | ++ Not mapped* + | +
UIA | ++ Not mapped* + | +
ATK/AT-SPI | ++ Not mapped* + | +
AX API | ++ Not mapped* + | +
aria-readonly
=true
ARIA Specification | +
+ aria-readonly =true
+ |
+
---|---|
MSAA + IAccessible2 | +
+ State: STATE_SYSTEM_READONLY
+ |
+
UIA | +
+ Property: Value.IsReadOnly : true , if the element implements
+ IValueProvider .+ Property: RangeValue.IsReadOnly : true , if the element implements
+ IRangeValueProvider .+ Property: AriaProperties.readonly : true
+ |
+
ATK/AT-SPI | +
+ State: STATE_READ_ONLY + State: STATE_EDITABLE not exposed on text input roles+ State: STATE_CHECKABLE not exposed on roles supporting aria-checked + State: STATE_CHECKABLE not exposed on radio descendants when used on a radiogroup
+ |
+
AX API | +
+ Method: AXUIElementIsAttributeSettable(AXValue) : NO
+ |
+
aria-readonly
=false
ARIA Specification | +
+ aria-readonly =false
+ |
+
---|---|
MSAA + IAccessible2 | +
+ State: STATE_SYSTEM_READONLY not exposed+ State: IA2_STATE_EDITABLE
+ |
+
UIA | +
+ Property: Value.IsReadOnly : false , if the element implements
+ IValueProvider .+ Property: RangeValue.IsReadOnly : false , if the element implements
+ IRangeValueProvider .+ Property: AriaProperties.readonly : false
+ |
+
ATK/AT-SPI | +
+ State: STATE_READ_ONLY not exposed
+ |
+
AX API | +
+ Method: AXUIElementIsAttributeSettable(AXValue) : YES
+ |
+
aria-readonly
is unspecified on gridcell
ARIA Specification | +
+ aria-readonly is unspecified on gridcell
+ |
+
---|---|
MSAA + IAccessible2 | +
+ The gridcell MUST inherit any author-provided value for aria-readonly from the containing grid or treegrid . Expose the inherited
+ value on the gridcell as described for aria-readonly="true" and
+ aria-readonly="false" .
+ |
+
UIA | +
+ The gridcell MUST inherit any author-provided value for aria-readonly from the containing grid or treegrid . Expose the inherited
+ value on the gridcell as described for aria-readonly="true" and
+ aria-readonly="false" .
+ |
+
ATK/AT-SPI | +
+ The gridcell MUST inherit any author-provided value for aria-readonly from the containing grid or treegrid . Expose the inherited
+ value on the gridcell as described for aria-readonly="true" and
+ aria-readonly="false" .
+ |
+
AX API | +
+ The gridcell MUST inherit any author-provided value for aria-readonly from the containing grid or treegrid . Expose the inherited
+ value on the gridcell as described for aria-readonly="true" and
+ aria-readonly="false" .
+ |
+
aria-relevant
ARIA Specification | +
+ aria-relevant
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Object Attribute: relevant:<value> + Object Attribute: container-relevant:<value> + Object Attribute: container-relevant:<value> on all descendants+ See also: Changes to document content or node visibility + |
+
UIA | +
+ Property: AriaProperties.relevant : <value> + See also: Changes to document content or node visibility + |
+
ATK/AT-SPI | +
+ Object Attribute: relevant:<value> + Object Attribute: container-relevant:<value> + Object Attribute: container-relevant:<value> on all descendants+ See also: Changes to document content or node visibility + |
+
AX API | +
+ Property: AXARIARelevant : <value> + See also: Changes to document content or node visibility + |
+
aria-required
=true
ARIA Specification | +
+ aria-required =true
+ |
+
---|---|
MSAA + IAccessible2 | +
+ State: IA2_STATE_REQUIRED
+ |
+
UIA | +
+ Property: IsRequiredForForm : true
+ |
+
ATK/AT-SPI | +
+ State: STATE_REQUIRED
+ |
+
AX API | +
+ Property: AXRequired : YES
+ |
+
aria-required
=false
ARIA Specification | +
+ aria-required =false
+ |
+
---|---|
MSAA + IAccessible2 | ++ Not mapped* + | +
UIA | ++ Not mapped* + | +
ATK/AT-SPI | ++ Not mapped* + | +
AX API | ++ Not mapped* + | +
aria-roledescription
ARIA Specification | +
+ aria-roledescription
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Method: localizedExtendedRole() : <value>
+ |
+
UIA | +
+ Localized Control Type: <value>
+ |
+
ATK/AT-SPI | +
+ Object Attribute: roledescription:<value>
+ |
+
AX API | +
+ Property: AXRoleDescription : <value>
+ |
+
aria-roledescription
is undefined or the empty stringARIA Specification | +
+ aria-roledescription is undefined or the empty string
+ |
+
---|---|
MSAA + IAccessible2 | ++ Not mapped + | +
UIA | ++ Localized Control Type is defined as that specified for the role of the element: based on the explicit role if the role attribute is provided; otherwise, based on the implicit + role for the host language. + | +
ATK/AT-SPI | ++ Not mapped + | +
AX API | ++ AXRoleDescription is defined as that specified for the role of the element: based on the explicit role if the role attribute is provided; otherwise, based on the implicit role for + the host language. + | +
aria-rowcount
ARIA Specification | +
+ aria-rowcount
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Object Attribute: rowcount:<value> + Method: IAccessible2::groupPosition() : similarItemsInGroup=<value> on rows
+ |
+
UIA | +
+ Property: Grid.RowCount : <value>
+ |
+
ATK/AT-SPI | +
+ Object Attribute: rowcount should contain the author-provided value.+ Method: atk_table_get_n_rows() should return the actual number of rows.
+ |
+
AX API | +
+ Property: AXARIARowCount : <value>
+ |
+
aria-rowindex
ARIA Specification | +
+ aria-rowindex
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Object Attribute: rowindex:<value> + Method: IAccessible2::groupPosition() : positionInGroup=<value> on rows
+ |
+
UIA | +
+ Property: GridItem.Row : <value> (zero-based)
+ |
+
ATK/AT-SPI | +
+ Object Attribute: rowindex should contain the author-provided value.+ Method: atk_table_cell_get_position() should return the actual (zero-based) row index.
+ |
+
AX API | +
+ Property: AXARIARowIndex : <value>
+ |
+
aria-rowindextext
ARIA Specification | +
+ aria-rowindextext
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Object Attribute: rowindextext:<value>
+ |
+
UIA | +
+ Property: AriaProperties.rowindextext : <value>
+ |
+
ATK/AT-SPI | +
+ Object Attribute: rowindextext:<value>
+ |
+
AX API | ++ Property: TBD + | +
aria-rowspan
ARIA Specification | +
+ aria-rowspan
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Object Attribute: rowspan:<value> + Method: IAccessibleTableCell::rowExtent() : column=<value>
+ |
+
UIA | +
+ Property: GridItem.RowSpan : <value>
+ |
+
ATK/AT-SPI | +
+ Object Attribute: rowspan should contain the author-provided value.+ Method: atk_table_cell_get_row_column_span() should return the actual row span.
+ |
+
AX API | +
+ Property: AXRowIndexRange.length : <value>
+ |
+
aria-selected
=true
ARIA Specification | +
+ aria-selected =true
+ |
+
---|---|
MSAA + IAccessible2 | +
+ State: STATE_SYSTEM_SELECTABLE + State: STATE_SYSTEM_SELECTED + See also: Selection for details on accessibility events + |
+
UIA | +
+ Property: SelectionItem.IsSelected : true
+ |
+
ATK/AT-SPI | +
+ State: STATE_SELECTABLE + State: STATE_SELECTED + See also: Selection for details on accessibility events + |
+
AX API | +
+ Property: AXSelected : YES
+ |
+
aria-selected
=false
ARIA Specification | +
+ aria-selected =false
+ |
+
---|---|
MSAA + IAccessible2 | +
+ State: STATE_SYSTEM_SELECTABLE + State: STATE_SYSTEM_SELECTED not exposed+ See also: Selection for details on accessibility events + |
+
UIA | +
+ Property: SelectionItem.IsSelected : false
+ |
+
ATK/AT-SPI | +
+ State: STATE_SELECTABLE + State: STATE_SELECTED not exposed+ See also: Selection for details on accessibility events + |
+
AX API | +
+ Property: AXSelected : NO
+ |
+
aria-selected
is undefinedARIA Specification | +
+ aria-selected is undefined
+ |
+
---|---|
MSAA + IAccessible2 | ++ Not mapped + | +
UIA | ++ Not mapped + | +
ATK/AT-SPI | ++ Not mapped + | +
AX API | ++ Not mapped + | +
aria-setsize
ARIA Specification | +
+ aria-setsize
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Object Attribute: setsize:<value> + See also: Group Position + |
+
UIA | +
+ Property: AriaProperties.setsize : <value> + See also: Group Position + |
+
ATK/AT-SPI | +
+
+ If the author-provided value of setsize:<value> + State: STATE_INDETERMINATE if the author-provided value is -1 + See also: Group Position + |
+
AX API | +
+ Property: AXARIASetSize : <value> + See also: Group Position + |
+
aria-sort
=ascending
ARIA Specification | +
+ aria-sort =ascending
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Object Attribute: sort:ascending
+ |
+
UIA | +
+ Property: AriaProperties.sort : ascending + Property: ItemStatus : ascending if the element maps to
+ HeaderItem Control Type
+ |
+
ATK/AT-SPI | +
+ Object Attribute: sort:ascending
+ |
+
AX API | +
+ Property: AXSortDirection : AXAscendingSortDirection
+ |
+
aria-sort
=descending
ARIA Specification | +
+ aria-sort =descending
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Object Attribute: sort:descending
+ |
+
UIA | +
+ Property: AriaProperties.sort : descending + Property: ItemStatus : descending if the element maps to
+ HeaderItem Control Type
+ |
+
ATK/AT-SPI | +
+ Object Attribute: sort:descending
+ |
+
AX API | +
+ Property: AXSortDirection : AXDescendingSortDirection
+ |
+
aria-sort
=other
ARIA Specification | +
+ aria-sort =other
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Object Attribute: sort:other
+ |
+
UIA | +
+ Property: AriaProperties.sort : other + Property: ItemStatus : other if the element maps to
+ HeaderItem Control Type
+ |
+
ATK/AT-SPI | +
+ Object Attribute: sort:other
+ |
+
AX API | +
+ Property: AXSortDirection : AXUnknownSortDirection
+ |
+
aria-sort
=none
ARIA Specification | +
+ aria-sort =none
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Object Attribute: sort:none , if the value is not unspecified
+ |
+
UIA | ++ Not mapped* + | +
ATK/AT-SPI | +
+ Object Attribute: sort:none , if the value is not unspecified
+ |
+
AX API | ++ Not mapped* + | +
aria-valuemax
ARIA Specification | +
+ aria-valuemax
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Method: IAccessibleValue::maximumValue() : <value> + See also: Handling Author Errors for States and Properties + |
+
UIA | +
+ Property: RangeValue.Maximum : <value> + See also: Handling Author Errors for States and Properties + |
+
ATK/AT-SPI | +
+ Method: atk_value_get_maximum_value() : <value> + See also: Handling Author Errors for States and Properties + |
+
AX API | +
+ Property: AXMaxValue : <value> + See also: Handling Author Errors for States and Properties + |
+
aria-valuemin
ARIA Specification | +
+ aria-valuemin
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Method: IAccessibleValue::minimumValue() : <value> + See also: Handling Author Errors for States and Properties + |
+
UIA | +
+ Property: RangeValue.Minimum : <value> + See also: Handling Author Errors for States and Properties + |
+
ATK/AT-SPI | +
+ Method: atk_value_get_minimum_value() : <value> + See also: Handling Author Errors for States and Properties + |
+
AX API | +
+ Property: AXMinValue : <value> + See also: Handling Author Errors for States and Properties + |
+
aria-valuenow
ARIA Specification | +
+ aria-valuenow
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Method: IAccessibleValue::currentValue() : <value> + Method: IAccessible::get_accValue() : <value> if aria-valuetext is not defined+ See also: Handling Author Errors for States and Properties + |
+
UIA | +
+ Property: RangeValue.Value : <value> + See also: Handling Author Errors for States and Properties + |
+
ATK/AT-SPI | +
+ Method: atk_value_get_current_value() : <value> + See also: Handling Author Errors for States and Properties + |
+
AX API | +
+ Property: AXValue : <value> + See also: Handling Author Errors for States and Properties + |
+
aria-valuetext
ARIA Specification | +
+ aria-valuetext
+ |
+
---|---|
MSAA + IAccessible2 | +
+ Method: IAccessible::get_accValue() : <value> + Object Attribute: valuetext:<value> + See also: Handling Author Errors for States and Properties + |
+
UIA | +
+ Property: Value.Value : <value> + See also: Handling Author Errors for States and Properties + |
+
ATK/AT-SPI | +
+ Object Attribute: valuetext:<value> + See also: Handling Author Errors for States and Properties + |
+
AX API | +
+ Property: AXValueDescription : <value> + See also: Handling Author Errors for States and Properties + |
+
+ For information on how to compute an accessible name or + accessible description, see the section titled + Accessible Name and Description Computation of the + Accessible Name and Description Computation specification. +
+
+ Often in a GUI, there are relationships between the widgets that can be exposed programmatically
+ to assistive technology. WAI-ARIA provides several relationship [=ARIA/properties=] which are globally
+ applicable to any element: aria-controls
, aria-describedby
, aria-flowto
, aria-labelledby
, aria-owns
, aria-posinset
, and aria-setsize
. Therefore, it is not important to check the role before computing them. [=User agents=] can simply map these relations to
+ accessibility APIs as defined in the section titled State and Property Mapping.
+
+ A reverse relation exists when an element's ID is referenced by a [=ARIA/property=] in another element. For
+ APIs that support reverse relations, [=user agents=] MUST use the mapping defined in the
+ State and Property Mapping Tables when an element's ID is referenced by a relation property of another element and the referenced element is
+ in the accessibility tree. All WAI-ARIA references must point to an element that is exposed as an accessible object in the accessibility tree. When the referenced object is not exposed
+ in the accessibility tree (e.g. because it is [=element/hidden=]), the reference is null. aria-labelledby
and aria-describedby
have an additional feature, which
+ allows them to pull a flattened string from the referenced element to populate the name or description fields of the accessibility API. This feature is described in the
+ Name and Description section.
+
+ Special case: If both aria-labelledby
and HTML
+ <label for= … >
are used, the user agent MUST use the WAI-ARIA relation and MUST ignore the
+ HTML label relation.
+
+ Note that aria-describedby
may reference structured or interactive information where users would want to be able
+ to navigate to different sections of content. User agents MAY provide a way for the user to navigate to structured information referenced by
+ aria-describedby
and assistive technology SHOULD provide such a method.
+
+ In addition to the explicit relations defined by WAI-ARIA [=ARIA/properties=], reverse relations are implied in two other
+ situations: elements with role="treeitem"
where the ancestor does not have an
+ aria-owns
property and descendants of elements with
+ aria-atomic
property.
+
+ In the case of role="treeitem"
, when aria-owns
is
+ not used, [=user agents=] SHOULD do the following where reverse relations are supported by the API:
+
treeitem
uses aria-level
, then walk backwards in the tree until a treeitem
is found with a lower
+ aria-level
, then set RELATION_NODE_CHILD_OF
to that element. If the top of the tree is reached, then set RELATION_NODE_CHILD_OF
to the tree element itself.
+ treeitem
has a role of
+ group
, then walk backwards from the group
until an element with a role of
+ treeitem
is found, then set RELATION_NODE_CHILD_OF
to that element.
+
+ In the case of aria-atomic
, where reverse relations are supported by the API:
+
aria-atomic
="true"
. If found, user agents SHOULD set the RELATION_MEMBER_OF
relation to point to the ancestor that sets
+ aria-atomic
="true"
.
+
+ aria-level
, aria-posinset
, and aria-setsize
are all 1-based. When the [=ARIA/property=] is not present or is "0", it indicates the
+ property is not computed or not supported. If any of these properties are specified by the author as either "0" or a negative number, [=user agents=] SHOULD use "1"
+ instead.
+
+ If aria-level
is not provided or inherited for an element of role
+ treeitem
or comment
, user agents implementing IAccessible2 or ATK/AT-SPI MUST compute it by
+ following the explicit or computed RELATION_NODE_CHILD_OF
relations.
+
+ If aria-posinset
and aria-setsize
are not provided,
+ user agents MUST compute them as follows:
+
role="treeitem"
and role="comment"
, walk
+ the tree backward and forward until the explicit or computed level becomes less than the current item's level. Count items only if they are at the same level as the current item.
+ aria-posinset
and
+ aria-setsize
, process the parent (DOM parent or parent defined by aria-owns
), counting items that have the same role.
+ aria-posinset
, include the current item and other group items if they are before the current item in the DOM. For aria-setsize
, add to that the number of items in the same group after the current item in the DOM.
+
+ If the author provides one or more of aria-setsize
and aria-posinset
, it is the author's responsibility to supply them for all elements in the set. [=User agent=]
+ correction of missing values in this case is not defined.
+
+ MSAA/IAccessible2 API mappings involve an additional function, groupPosition()
[[IAccessible2]], when
+ aria-level
, aria-posinset
, and/or aria-setsize
are present on an element, or are computed by the user agent. When this occurs:
+
aria-level
is exposed in the groupLevel
parameter of groupPosition()
,
+ aria-setsize
is exposed in the similarItemsInGroup
parameter, and
+ aria-posinset
is exposed in the positionInGroup
parameter.
+ As part of mapping roles to accessible objects as defined in Role Mapping, users agents expose a default action on the object.
+DoDefaultAction
on an accessible object, the user agent SHOULD simulate a click on the
+ DOM element which is mapped to that accessible object.
+ IAccessibleAction
on an accessible object, the user agent SHOULD simulate a click on the
+ DOM element which is mapped to that accessible object.
+ AXPress
action on an accessible object, the user agent
+ SHOULD simulate a click on the DOM element which is mapped to that accessible object.
+ + Authors will need to create handlers for those click events that update WAI-ARIA states and properties in the + DOM accordingly, so that those updated states can be populated by the user agent in the Accessibility + API. +
++ [=User agents=] fire events for user actions, WAI-ARIA state changes, changes to + document content or node visibility, changes in selection and operation of menus as defined in the following sections. +
+
+ [=User agents=] MUST notify assistive technology of state changes as defined in the table below, SHOULD notify assistive technology of
+ [=ARIA/property=] changes if the accessibility API defines a change event for the property, and SHOULD NOT notify assistive technology of
+ property changes if the accessibility API does not define a change event for the property. For example, IAccessible2 defines an event
+ to be used when aria-activedescendant
changes.
+ WAI-ARIA properties that are expected to change include
+ aria-activedescendant
, aria-valuenow
, and aria-valuetext
.
+
In some APIs, AT will only be notified of events to which it has subscribed.
++ For simplicity and performance the user agent MAY trim out change events for state or property changes that assistive technologies typically ignore, such as events + that are happening in a window that does not currently have focus. +
+
+ Translators: For label text associated with the following table and its toggle buttons, see the mappingTableLabels
object in the <head>
section of this
+ document.
+
aria-activedescendant
ARIA Specification | +
+ aria-activedescendant
+ |
+
---|---|
MSAA + IAccessible2 event | +
+ See Focus Changes.
+ In addition: +
|
+
UIA event | +
+ See Focus Changes.
+ In addition: +
Property: |
+
ATK/AT-SPI event | +See Focus Changes. | +
AX API Notification | +
+ See Focus Changes.
+ In addition: |
+
aria-busy
(state)ARIA Specification | +
+ aria-busy (state)
+ |
+
---|---|
MSAA + IAccessible2 event | +
+ EVENT_OBJECT_STATECHANGE
+ |
+
UIA event | +
+ PropertyChangedEvent
+ Property: |
+
ATK/AT-SPI event | +
+ object:state-changed:busy
+ |
+
AX API Notification | +
+ AXElementBusyChanged
+ |
+
aria-checked
(state)ARIA Specification | +
+ aria-checked (state)
+ |
+
---|---|
MSAA + IAccessible2 event | +
+ EVENT_OBJECT_STATECHANGE
+ |
+
UIA event | +
+ PropertyChangedEvent
+ Properties: |
+
ATK/AT-SPI event | +
+ object:state-changed:checked
+ |
+
AX API Notification | +
+ AXValueChanged
+ |
+
aria-current
(state)ARIA Specification | +
+ aria-current (state)
+ |
+
---|---|
MSAA + IAccessible2 event | +
+ IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED
+ |
+
UIA event | +
+ PropertyChangedEvent
+ Property: |
+
ATK/AT-SPI event | +
+ object:state-changed:active
+ |
+
AX API Notification | +
+ AXCurrentStateChanged
+ |
+
aria-disabled
(state)ARIA Specification | +
+ aria-disabled (state)
+ |
+
---|---|
MSAA + IAccessible2 event | +
+ EVENT_OBJECT_STATECHANGE
+ |
+
UIA event | +
+ PropertyChangedEvent
+ Properties: |
+
ATK/AT-SPI event | +object:state-changed:enabled and object:state-changed:sensitive |
+
AX API Notification | +
+ AXDisabledStateChanged
+ |
+
aria-describedby
ARIA Specification | +
+ aria-describedby
+ |
+
---|---|
MSAA + IAccessible2 event | +
+ EVENT_OBJECT_DESCRIPTIONCHANGE
+ |
+
UIA event | +
+ PropertyChangedEvent
+ Properties: |
+
ATK/AT-SPI event | +
+ object:property-change:accessible-description
+ |
+
AX API Notification | +
+ AXDescribedByChanged
+ |
+
aria-dropeffect
(property, deprecated)ARIA Specification | +
+ aria-dropeffect (property, deprecated)
+ |
+
---|---|
MSAA + IAccessible2 event | +
+ IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED
+ |
+
UIA event | +
+ PropertyChangedEvent
+ Property: |
+
ATK/AT-SPI event | +
+ object:property-change
+ |
+
AX API Notification | +
+ AXDropEffectChanged
+ |
+
aria-expanded
(state)ARIA Specification | +
+ aria-expanded (state)
+ |
+
---|---|
MSAA + IAccessible2 event | +
+ EVENT_OBJECT_STATECHANGE
+ |
+
UIA event | +
+ PropertyChangedEvent
+ Properties: |
+
ATK/AT-SPI event | +
+ object:state-changed:expanded
+ |
+
AX API Notification | +
+ AXRowExpanded ,+ AXRowCollapsed ,+ AXRowCountChanged
+ |
+
aria-grabbed
(state, deprecated)ARIA Specification | +
+ aria-grabbed (state, deprecated)
+ |
+
---|---|
MSAA + IAccessible2 event | +
+
|
+
UIA event | +
+ PropertyChangedEvent
+ Property: |
+
ATK/AT-SPI event | +
+ object:property-change
+ |
+
AX API Notification | +
+ AXGrabbedStateChanged
+ |
+
aria-hidden
(state)ARIA Specification | +
+ aria-hidden (state)
+ |
+
---|---|
MSAA + IAccessible2 event | +
+ IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED
+ |
+
UIA event | +
+ StructureChangedEvent
+
Property: |
+
ATK/AT-SPI event | +
+ object:property-change
+ |
+
AX API Notification | +
+ AXUIElementDestroyed ,+ AXUIElementCreated
+ |
+
aria-invalid
(state)ARIA Specification | +
+ aria-invalid (state)
+ |
+
---|---|
MSAA + IAccessible2 event | +
+ EVENT_OBJECT_STATECHANGE
+ |
+
UIA event | +
+ PropertyChangedEvent
+ Properties: |
+
ATK/AT-SPI event | +
+ object:state-changed:invalid_entry
+ |
+
AX API Notification | +
+ AXInvalidStatusChanged
+ |
+
aria-label
and aria-labelledby
ARIA Specification | +
+ aria-label and aria-labelledby
+ |
+
---|---|
MSAA + IAccessible2 event | +
+ EVENT_OBJECT_NAMECHANGE
+ |
+
UIA event | +
+ PropertyChangedEvent
+ Property for Property for |
+
ATK/AT-SPI event | +
+ object:property-change:accessible-name
+ |
+
AX API Notification | +
+ AXLabelCreated
+ |
+
aria-pressed
(state)ARIA Specification | +
+ aria-pressed (state)
+ |
+
---|---|
MSAA + IAccessible2 event | +
+ EVENT_OBJECT_STATECHANGE
+ |
+
UIA event | +
+ PropertyChangedEvent
+ Properties: |
+
ATK/AT-SPI event | +
+ object:state-changed:pressed
+ |
+
AX API Notification | +
+ AXPressedStateChanged
+ |
+
aria-readonly
ARIA Specification | +
+ aria-readonly
+ |
+
---|---|
MSAA + IAccessible2 event | +
+ EVENT_OBJECT_STATECHANGE
+ |
+
UIA event | +
+ PropertyChangedEvent
+ Property: |
+
ATK/AT-SPI event | +
+ object:state-changed:readonly
+ |
+
AX API Notification | +
+ AXReadOnlyStatusChanged
+ |
+
aria-required
ARIA Specification | +
+ aria-required
+ |
+
---|---|
MSAA + IAccessible2 event | +
+ EVENT_OBJECT_STATECHANGE
+ |
+
UIA event | +
+ PropertyChangedEvent
+ Properties: |
+
ATK/AT-SPI event | +
+ object:state-changed:required
+ |
+
AX API Notification | +
+ AXRequiredStatusChanged
+ |
+
aria-selected
(state)ARIA Specification | +
+ aria-selected (state)
+ |
+
---|---|
MSAA + IAccessible2 event | +See section Selection for details. | +
UIA event | +See section Selection for details. | +
ATK/AT-SPI event | +See section Selection for details. | +
AX API Notification | +See section Selection for details. | +
aria-valuenow
ARIA Specification | +
+ aria-valuenow
+ |
+
---|---|
MSAA + IAccessible2 event | +
+ EVENT_OBJECT_VALUECHANGE
+ |
+
UIA event | +
+ PropertyChangedEvent
+ Properties: |
+
ATK/AT-SPI event | +
+ object:property-change:accessible-value
+ |
+
AX API Notification | +
+ AXValueChanged
+ |
+
aria-valuetext
ARIA Specification | +
+ aria-valuetext
+ |
+
---|---|
MSAA + IAccessible2 event | +
+ EVENT_OBJECT_VALUECHANGE
+ |
+
UIA event | +
+ PropertyChangedEvent
+ Property: |
+
ATK/AT-SPI event | +
+ object:property-change:accessible-value
+ |
+
AX API Notification | +
+ AXValueChanged
+ |
+
+ Processing document changes is important regardless of WAI-ARIA. The events described in the table below are used by user agents + to inform AT of changes to the DOM via the accessibility tree. For the purposes of conformance with + this standard, [=user agents=] MUST implement the behavior described in this section whenever WAI-ARIA attributes are applied to + dynamic content on a Web page. +
+Scenario | +MSAA + IAccessible2 event | +UIA event | +ATK/AT-SPI event | +AX API Notification | +
---|---|---|---|---|
When text is removed | +IA2_EVENT_TEXT_REMOVED |
+ EVENT_OBJECT_LIVEREGIONCHANGED |
+ text_changed::delete |
+ If in a live region, AXLiveRegionChanged .If in aria-errormessage , AXValidationErrorChanged . |
+
When text is inserted | +IA2_EVENT_TEXT_INSERTED |
+ EVENT_OBJECT_LIVEREGIONCHANGED |
+ text_changed::insert |
+ If in a live region, AXLiveRegionChanged .If in aria-errormessage , AXValidationErrorChanged . |
+
When text is changed | +IA2_EVENT_TEXT_REMOVE and IA2_EVENT_TEXT_INSERTED |
+ EVENT_OBJECT_LIVEREGIONCHANGED |
+ text_changed::delete and text_changed::insert |
+ If in a live region, AXLiveRegionChanged .If in aria-errormessage , AXValidationErrorChanged . |
+
Fire these events for node changes where the node in question is an element and has an accessible object:
+Scenario | +MSAA | +Microsoft UIA event | +ATK/AT-SPI event | +AX API Notification | +
---|---|---|---|---|
When an accessibility subtree is [=element/hidden=] | +
+ EVENT_OBJECT_HIDE + The MSAA event called EVENT_OBJECT_DESTROY is not used because this has a history of stability issues and assistive
+ technology avoids it. In any case, from the user's point of view, there is no difference between something that is hidden or destroyed.
+ |
+ AutomationElement..::.StructureChangedEvent |
+ children_changed::remove |
+
+
If in a live region, |
+
When an accessibility subtree is removed | +
+ EVENT_OBJECT_REORDER + The MSAA event called EVENT_OBJECT_DESTROY is not used because this has a history of stability issues and assistive
+ technology avoids it. In any case, from the user's point of view, there is no difference between something that is hidden or destroyed.
+ |
+ AutomationElement..::.StructureChangedEvent |
+ children_changed::remove |
+
+
If in a live region, |
+
When an accessibility subtree is shown | +EVENT_OBJECT_SHOW |
+ + | children_changed::add |
+
+
If in a live region, |
+
When an accessibility subtree is inserted | +EVENT_OBJECT_REORDER |
+ + | children_changed::add |
+
+
If in a live region, |
+
When an accessibility subtree is moved | +Treat it as a removal from one place and insertion in another | +Treat it as a removal from one place and insertion in another | +Treat it as a removal from one place and insertion in another | +
+
If in a live region, |
+
When an accessibility subtree is changed (e.g. replaceNode) | +Treat it as a removal and insertion | +Treat it as a removal and insertion | +Treat it as a removal and insertion | +
+
If in a live region, |
+
+ In some cases, node changes may occur where the node is not an element or has no accessible object. For example, a numbered list bullet ("12.") may have a node in the accessibility tree
+ but not in the DOM tree. For text within a paragraph marked in HTML as
+ <strong>
, the <strong>
element has a node in the DOM tree but may not have one in the accessibility tree.
+ The text itself will of course be in the accessibility tree along with the identification of the range of text that is formatted as strong. If any of the changes described in the table
+ above occur on such a node, user agents SHOULD compute and fire relevant text change events as described above.
+
+ User agents SHOULD ensure that an assistive technology, running in process can receive notification of a node being removed prior to removal. This allows an assistive technology, such as a
+ screen reader, to refer back to the corresponding DOM node being deleted. This is important for live regions where
+ removals are important. For example, a screen reader would want to notify a user that another user has left a chat room. The event in
+ MSAA would be EVENT_OBJECT_HIDE
. For ATK/AT-SPI
+ this would be children_changed::remove
. And in macOS, the event is AXLiveRegionChanged
. This also requires the user agent to provide a unique ID in the
+ accessibility API notification identifying the unique node being removed.
+
+ When firing any of the above-mentioned change events, it is very useful to provide information about whether the change was caused by user input (as opposed to a timeout initiated from the + page load, etc.). This allows the assistive technology to have different rules for presenting changes from the real world as opposed to from user action. Mouse hovers are not considered + explicit user input because they can occur from accidental bumps of the mouse. +
+To expose whether a change occurred from user input:
+event-from-user-input:true
on the
+ accessible object for the event, if the user caused the change.
+ Exposing additional useful information about the context of the change:
+RELATION_MEMBER_OF
relation on the accessible event's target accessible object SHOULD point to any ancestor with
+ aria-atomic
="true"
(if any).
+ container-live
,
+ container-relevant
, container-busy
, container-atomic
object attributes SHOULD be exposed on the accessible event object, providing the computed
+ value for the related WAI-ARIA properties. The computed value is the value of the closest ancestor. It is recommended to not
+ expose the object attribute if the default value is used.
+ Additional MSAA events may be necessary:
+ROLE_SYSTEM_ALERT
, then an
+ EVENT_SYSTEM_ALERT
event SHOULD be fired for the alert. The alert role has an implied value of "assertive" for the
+ aria-live
property.
+ The following table defines the accessibility API keyboard focus states and events.
++ | MSAA | +Microsoft UIA | +ATK/AT-SPI | +AX API | +
---|---|---|---|---|
Focusable state | +STATE_SYSTEM_FOCUSABLE |
+
+ Current state reflected in IUIAutomationElement::CurrentIsKeyboardFocusable , can be retrieved with IUIAutomationElement::GetCurrentPropertyValue method using
+ UIA_IsKeyboardFocusablePropertyId property identifier.
+ |
+ STATE_FOCUSABLE |
+ boolean AXFocused : the AXUIElementIsAttributeSettable method returns YES . |
+
Focused state | +STATE_SYSTEM_FOCUSED |
+
+ Current state reflected in IUIAutomationElement::CurrentHasKeyboardFocus , can be retrieved with IUIAutomationElement::GetCurrentPropertyValue method using
+ UIA_HasKeyboardFocusPropertyId property identifier.
+ |
+ STATE_FOCUSED |
+ boolean AXFocused |
+
Focus event | +EVENT_OBJECT_FOCUS |
+ Clients can subscribe with IUIAutomation::AddFocusChangedEventHandler using callback interface is IUIAutomationFocusChangedEventHandler |
+
+ object:state-changed:focused and:
+
|
+ AXFocusedUIElementChanged |
+
There are two cases for selection:
+
+ In the single selection case, selection follows focus (see the section "Focus States and Events Table" for information about focus events). User
+ agents MUST fire the following events when aria-selected
changes:
+
Scenario | +MSAA | +Microsoft UIA | +ATK/AT-SPI | +AX API | +
---|---|---|---|---|
Focus change | +EVENT_OBJECT_SELECTION and EVENT_OBJECT_STATECHANGE on newly focused item. |
+
+ UIA_SelectionItem_ElementSelectedEventId on the newly focused element.
+ If on a |
+
+
|
+ AXSelectedChildrenChanged |
+
+ The multiple selection case occurs when aria-multiselectable
="true"
on an element with a role that supports that [=ARIA/property=]. User agents MUST fire the following events
+ when aria-selected
changes on a descendant, as follows:
+
+ The multiple selection case occurs when aria-multiselectable
="true"
on an element with a role that supports that [=ARIA/property=]. There are several important aspects:
+
Selection
and SelectionItem
Control Patterns expose the selection availability, state, and
+ methods.
+ aria-selected
changes on a descendant, as follows:
+ Scenario | +MSAA | +Microsoft UIA | +ATK/AT-SPI | +AX API | +
---|---|---|---|---|
+ Toggle aria-selected
+ |
+ EVENT_OBJECT_SELECTIONADD /EVENT_OBJECT_SELECTIONREMOVE on the item. |
+
+ SelectionItem Control Pattern :UIA_SelectionItem_ElementAddedToSelectionEventId or UIA_SelectionItem_ElementRemovedFromSelectionEventId on the
+ item.
+ |
+
+
|
+ AXSelectedChildrenChanged |
+
Selection follows focus | +EVENT_OBJECT_SELECTION and EVENT_OBJECT_STATECHANGE on newly focused item. |
+ FocusChangedEvent should be fired but individual selection event may not happen, to avoid redundancy. |
+
+
|
+ AXSelectedChildrenChanged |
+
Select or deselect many items at once | +User agent MAY fire an EVENT_OBJECT_SELECTIONWITHIN . If this event is fired the other events noted above MAY be trimmed out for performance. |
+
+ For each element selected or deselected, fire SelectionItem Control Pattern: UIA_SelectionItem_ElementAddedToSelectionEventId or
+ UIA_SelectionItem_ElementRemovedFromSelectionEventId on the current container. User agents MAY choose to fire the Selection Control Pattern Invalidated event, which
+ indicates that the selection in a container has changed significantly and requires sending more addition and removal events than the InvalidateLimit constant permits.
+ |
+
+
|
+ AXSelectedChildrenChanged |
+
+ In accordance with Web Platform Design Principles, this specification provides no programmatic + interface to determine if information is being used by Assistive Technologies. However, this specification does allow an author to present different information to users of Assistive + Technologies from the information available to users who do not use Assistive Technologies. This is possible using many features of the ARIA and CORE-AAM specifications, just as this is + possible using many other parts of the web technology stack. This content disparity could be abused to perform + active fingerprinting of users of Assistive Technologies. +
+This specification introduces no new security considerations.
+label
and legend
.aria-colindex
, aria-colspan
, aria-colcount
, aria-rowindex
, aria-rowspan
, and
+ aria-rowcount
.
+ alert
and alertdialog
.comment
, mark
, and suggestion
roles. Include comment
in calculation for aria-label
and group
+ position.
+ aria-description
.strong
and emphasis
roles for AX API.code
role for AX API.aria-colindextext
and aria-rowindextext
roles for ATK, IA2, and UIA.strong
and emphasis
roles for ATK, IA2, and UIA.code
role for ATK, IA2, and UIA.subscript
and superscript
generic
role.insertion
and deletion
roles.legend
role.label
role.time
role.subscript
and superscript
roles.meter
role.aria-placeholder
.blockquote
, caption
, and paragraph
roles.AXTitle
for exposing rendered labels for AXAPI.aria-label
, aria-labelledby
, and aria-describedby
.The following people contributed to the development of this document.
++ The Digital Publishing Accessibility API Mappings (DPub-AAM) defines how [=user agents=] map the Digital Publishing WAI-ARIA Module [[dpub-aria-1.1]] markup to platform + accessibility APIs. It is intended for user agent developers responsible for accessibility in their user agent so that they can support the accessibility content produced for digital publishing. +
++ The primary change since the First Public Working Draft was to update the Mac AX API mappings to add the AXCustomContent fields for announcing roles. Feedback on any aspect of the + specification is encouraged. A list of all substantive changes is available in the change log. +
++ The implementation of this specification in user agents enables authors to produce more accessible e-books, by conveying structural book constructs used by the digital publishing industry to + assistive technologies. It does this by extending the Core Accessibility API Mappings 1.1 [[CORE-AAM-1.1]] and the + Accessible Name and Description: Computation 1.2 [[ACCNAME-1.2]] specifications for user agents. It provides Accessibility API + Mapping guidance for the roles defined in the Digital Publish WAI-ARIA Module. +
+ ++ The DPub-AAM is part of the WAI-ARIA suite described in the + WAI-ARIA Overview. +
+
+ RFC-2119 keywords are formatted in uppercase and contained in a strong
element with class="rfc2119"
. When the keywords shown above are used, but do not share this
+ format, they do not convey formal information in the RFC 2119 sense, and are merely explanatory (i.e., informative). As much as possible, such usages are avoided in this specification.
+
The indication whether a section is normative or non-normative (informative) applies to the entire section including sub-sections.
+ ++ 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. +
++ The DPUB-ARIA specification [[dpub-aria-1.1]] lists some roles as deprecated. Although this means authors are encouraged not to use these roles, it is expected that the roles could still be + used in legacy content. Therefore, it is important that user agents continue to map these roles to accessibility APIs, and doing so is part of conformance to this specification. When future + versions of the DPUB-ARIA specification change such roles from deprecated to removed, they will be removed from the mappings as well and user agents will no longer be asked to continue + support for those roles. +
++ Enabling keyboard navigation in web applications is a necessary step toward making accessible web applications possible. Conforming [=user agents=] MUST conform to + Supporting Keyboard Navigation requirements in [[!CORE-AAM-1.1]]. +
++ This section MUST conform to General rules for exposing WAI-ARIA semantics in + [[!CORE-AAM-1.1]]. +
++ User agents MUST conform to Conflicts between native markup semantics and WAI-ARIA in + [[!CORE-AAM-1.1]]. +
++ User agents MUST conform to + Exposing attributes that do not directly map to accessibility API properties + in [[!CORE-AAM-1.1]]. +
++ Platform accessibility APIs traditionally have had a finite set of predefined roles that + are expected by assistive technologies on that platform and only one or two roles may be exposed. In contrast, + WAI-ARIA allows multiple roles to be specified as an ordered set of space-separated valid role tokens. The additional roles are + fallback roles similar to the concept of specifying multiple fonts in case the first choice font type is not supported. +
+ ++ User agents MUST conform to the Role Mapping General Rules accessibility API + computational requirements in [[!CORE-AAM-1.1]]. +
+
+ Translators: For label text associated with the following table and its toggle buttons, see the mappingTableLabels
object in the <head>
section of this
+ document.
+
+ This section defines how WAI-ARIA digital publishing roles map to platform accessibility APIs. Elements having roles with a prefix value of doc-
, that are not listed in this
+ role mapping table, have no normative mappings.
+
doc-abstract
DPUB-ARIA Specification | +
+ doc-abstract
+ |
+
---|---|
Computed Role | +doc-abstract |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ Expose IAccessible2:
+
|
+
UIA Control Type + Other Features | +
+
|
+
ATK/AT-SPI Role | +
+ Expose |
+
Mac AX API | +
+
|
+
doc-acknowledgments
DPUB-ARIA Specification | +
+ doc-acknowledgments
+ |
+
---|---|
Computed Role | +doc-acknowledgments |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ Expose IAccessible2:
+
|
+
UIA Control Type + Other Features | +
+
|
+
ATK/AT-SPI Role | +
+
+ Expose |
+
Mac AX API | +
+
|
+
doc-afterword
DPUB-ARIA Specification | +
+ doc-afterword
+ |
+
---|---|
Computed Role | +doc-afterword |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ Expose IAccessible2:
+
|
+
UIA Control Type + Other Features | +
+
|
+
ATK/AT-SPI Role | +
+ Expose |
+
Mac AX API | +
+
|
+
doc-appendix
DPUB-ARIA Specification | +
+ doc-appendix
+ |
+
---|---|
Computed Role | +doc-appendix |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ Expose IAccessible2:
+
|
+
UIA Control Type + Other Features | +
+
|
+
ATK/AT-SPI Role | +
+ Expose |
+
Mac AX API | +
+
|
+
doc-backlink
DPUB-ARIA Specification | +
+ doc-backlink
+ |
+
---|---|
Computed Role | +doc-backlink |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ Expose
+
IAccessible2: +
|
+
UIA Control Type + Other Features | +
+
|
+
ATK/AT-SPI Role | +
+ Expose |
+
Mac AX API | +
+
|
+
doc-biblioentry
DPUB-ARIA Specification | +
+ doc-biblioentry
+ |
+
---|---|
Computed Role | +doc-biblioentry |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ Expose
+
+ IAccessible2: +Object attribute |
+
UIA Control Type + Other Features | +
+
|
+
ATK/AT-SPI Role | +
+ Expose |
+
Mac AX API | +
+
|
+
doc-bibliography
DPUB-ARIA Specification | +
+ doc-bibliography
+ |
+
---|---|
Computed Role | +doc-bibliography |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ Expose IAccessible2:
+
|
+
UIA Control Type + Other Features | +
+
|
+
ATK/AT-SPI Role | +
+ Expose |
+
Mac AX API | +
+
|
+
doc-biblioref
DPUB-ARIA Specification | +
+ doc-biblioref
+ |
+
---|---|
Computed Role | +doc-biblioref |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ Expose
+
IAccessible2: +
|
+
UIA Control Type + Other Features | +
+
|
+
ATK/AT-SPI Role | +
+ Expose |
+
Mac AX API | +
+
|
+
doc-chapter
DPUB-ARIA Specification | +
+ doc-chapter
+ |
+
---|---|
Computed Role | +doc-chapter |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ Expose IAccessible2:
+
|
+
UIA Control Type + Other Features | +
+
|
+
ATK/AT-SPI Role | +
+ Expose |
+
Mac AX API | +
+
|
+
doc-colophon
DPUB-ARIA Specification | +
+ doc-colophon
+ |
+
---|---|
Computed Role | +doc-colophon |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ Expose
+
IAccessible2: Object attribute |
+
UIA Control Type + Other Features | +
+
|
+
ATK/AT-SPI Role | +
+ Expose |
+
Mac AX API | +
+
|
+
doc-conclusion
DPUB-ARIA Specification | +
+ doc-conclusion
+ |
+
---|---|
Computed Role | +doc-conclusion |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ Expose IAccessible2:
+
|
+
UIA Control Type + Other Features | +
+
|
+
ATK/AT-SPI Role | +
+ Expose |
+
Mac AX API | +
+
|
+
doc-cover
DPUB-ARIA Specification | +
+ doc-cover
+ |
+
---|---|
Computed Role | +doc-cover |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ Expose
+
IAccessible2: Object attribute |
+
UIA Control Type + Other Features | +Control Type is Image |
+
ATK/AT-SPI Role | +
+ expose |
+
Mac AX API | +
+
|
+
doc-credit
DPUB-ARIA Specification | +
+ doc-credit
+ |
+
---|---|
Computed Role | +doc-credit |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ Expose
+
IAccessible2: + Object attribute +xml-roles:doc-credit
+ |
+
UIA Control Type + Other Features | +
+
|
+
ATK/AT-SPI Role | +
+ Expose |
+
Mac AX API | +
+
|
+
doc-credits
DPUB-ARIA Specification | +
+ doc-credits
+ |
+
---|---|
Computed Role | +doc-credits |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ Expose IAccessible2:
+
|
+
UIA Control Type + Other Features | +
+
|
+
ATK/AT-SPI Role | +
+ Expose |
+
Mac AX API | +
+
|
+
doc-dedication
DPUB-ARIA Specification | +
+ doc-dedication
+ |
+
---|---|
Computed Role | +doc-dedication |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ Expose
+
IAccessible2: + Object attribute +xml-roles:doc-dedication
+ |
+
UIA Control Type + Other Features | +
+
|
+
ATK/AT-SPI Role | +
+ Expose |
+
Mac AX API | +
+
|
+
doc-endnote
DPUB-ARIA Specification | +
+ doc-endnote
+ |
+
---|---|
Computed Role | +doc-endnote |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ Expose
+
+ IAccessible2: +Object attribute |
+
UIA Control Type + Other Features | +
+
|
+
ATK/AT-SPI Role | +
+ Expose |
+
Mac AX API | +
+
|
+
doc-endnotes
DPUB-ARIA Specification | +
+ doc-endnotes
+ |
+
---|---|
Computed Role | +doc-endnotes |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ Expose IAccessible2:
+
|
+
UIA Control Type + Other Features | +
+
|
+
ATK/AT-SPI Role | +
+ Expose |
+
Mac AX API | +
+
|
+
doc-epigraph
DPUB-ARIA Specification | +
+ doc-epigraph
+ |
+
---|---|
Computed Role | +doc-epigraph |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ Expose
+
IAccessible2: + Object attribute +xml-roles:doc-epigraph
+ |
+
UIA Control Type + Other Features | +
+
|
+
ATK/AT-SPI Role | +
+ Expose |
+
Mac AX API | +
+
|
+
doc-epilogue
DPUB-ARIA Specification | +
+ doc-epilogue
+ |
+
---|---|
Computed Role | +doc-epilogue |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ Expose IAccessible2:
+
|
+
UIA Control Type + Other Features | +
+
|
+
ATK/AT-SPI Role | +
+ Expose |
+
Mac AX API | +
+
|
+
doc-errata
DPUB-ARIA Specification | +
+ doc-errata
+ |
+
---|---|
Computed Role | +doc-errata |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ Expose IAccessible2:
+
|
+
UIA Control Type + Other Features | +
+
|
+
ATK/AT-SPI Role | +
+ Expose |
+
Mac AX API | +
+
|
+
doc-example
DPUB-ARIA Specification | +
+ doc-example
+ |
+
---|---|
Computed Role | +doc-example |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ Expose
+
IAccessible2: + Object attribute +xml-roles:doc-example
+ |
+
UIA Control Type + Other Features | +
+
|
+
ATK/AT-SPI Role | +
+ Expose |
+
Mac AX API | +
+
|
+
doc-footnote
DPUB-ARIA Specification | +
+ doc-footnote
+ |
+
---|---|
Computed Role | +doc-footnote |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ Expose IAccessible2: +
|
+
UIA Control Type + Other Features | +
+
|
+
ATK/AT-SPI Role | +
+ Expose |
+
Mac AX API | +
+
|
+
doc-foreword
DPUB-ARIA Specification | +
+ doc-foreword
+ |
+
---|---|
Computed Role | +doc-foreword |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ Expose IAccessible2:
+
|
+
UIA Control Type + Other Features | +
+
|
+
ATK/AT-SPI Role | +
+ Expose |
+
Mac AX API | +
+
|
+
doc-glossary
DPUB-ARIA Specification | +
+ doc-glossary
+ |
+
---|---|
Computed Role | +doc-glossary |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ Expose IAccessible2:
+
|
+
UIA Control Type + Other Features | +
+
|
+
ATK/AT-SPI Role | +
+ Expose |
+
Mac AX API | +
+
|
+
doc-glossref
DPUB-ARIA Specification | +
+ doc-glossref
+ |
+
---|---|
Computed Role | +doc-glossref |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ Expose
+
IAccessible2: +
|
+
UIA Control Type + Other Features | +
+
|
+
ATK/AT-SPI Role | +
+ Expose |
+
Mac AX API | +
+
|
+
doc-index
DPUB-ARIA Specification | +
+ doc-index
+ |
+
---|---|
Computed Role | +doc-index |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ Expose IAccessible2:
+
|
+
UIA Control Type + Other Features | +
+
|
+
ATK/AT-SPI Role | +
+ Expose |
+
Mac AX API | +
+
|
+
doc-introduction
DPUB-ARIA Specification | +
+ doc-introduction
+ |
+
---|---|
Computed Role | +doc-introduction |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ Expose IAccessible2:
+
|
+
UIA Control Type + Other Features | +
+
|
+
ATK/AT-SPI Role | +
+ Expose |
+
Mac AX API | +
+
|
+
doc-noteref
DPUB-ARIA Specification | +
+ doc-noteref
+ |
+
---|---|
Computed Role | +doc-noteref |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ Expose
+
IAccessible2: +
|
+
UIA Control Type + Other Features | +
+
|
+
ATK/AT-SPI Role | +
+ Expose |
+
Mac AX API | +
+
|
+
doc-notice
DPUB-ARIA Specification | +
+ doc-notice
+ |
+
---|---|
Computed Role | +doc-notice |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ Expose
+
IAccessible2: + Object attributexml-roles:doc-notice .
+ |
+
UIA Control Type + Other Features | +
+
|
+
ATK/AT-SPI Role | +
+ Expose |
+
Mac AX API | +
+
|
+
doc-pagebreak
DPUB-ARIA Specification | +
+ doc-pagebreak
+ |
+
---|---|
Computed Role | +doc-pagebreak |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ Expose
+
IAccessible2: + Object attributexml-roles:doc-pagebreak .
+ |
+
UIA Control Type + Other Features | +
+
|
+
ATK/AT-SPI Role | +
+ Expose |
+
Mac AX API | +
+
|
+
doc-pageheader
DPUB-ARIA Specification | +
+ doc-pageheader
+ |
+
---|---|
Computed Role | +doc-pageheader |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ Expose IAccessible2:
+
|
+
UIA Control Type + Other Features | +
+
|
+
ATK/AT-SPI Role | +
+ Expose
+
|
+
Mac AX API | +
+
|
+
doc-pagelist
DPUB-ARIA Specification | +
+ doc-pagelist
+ |
+
---|---|
Computed Role | +doc-pagelist |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ Expose IAccessible2:
+
|
+
UIA Control Type + Other Features | +
+
|
+
ATK/AT-SPI Role | +
+ Expose
+
|
+
Mac AX API | +
+
|
+
doc-part
DPUB-ARIA Specification | +
+ doc-part
+ |
+
---|---|
Computed Role | +doc-part |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ Expose IAccessible2:
+
|
+
UIA Control Type + Other Features | +
+
|
+
ATK/AT-SPI Role | +
+ Expose |
+
Mac AX API | +
+
|
+
doc-preface
DPUB-ARIA Specification | +
+ doc-preface
+ |
+
---|---|
Computed Role | +doc-preface |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ Expose IAccessible2:
+
|
+
UIA Control Type + Other Features | +
+
|
+
ATK/AT-SPI Role | +
+ Expose |
+
Mac AX API | +
+
|
+
doc-prologue
DPUB-ARIA Specification | +
+ doc-prologue
+ |
+
---|---|
Computed Role | +doc-prologue |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ Expose IAccessible2:
+
|
+
UIA Control Type + Other Features | +
+
|
+
ATK/AT-SPI Role | +
+ Expose |
+
Mac AX API | +
+
|
+
doc-pullquote
DPUB-ARIA Specification | +
+ doc-pullquote
+ |
+
---|---|
Computed Role | +doc-pullquote |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ Expose IAccessible2:
+
|
+
UIA Control Type + Other Features | +
+
|
+
ATK/AT-SPI Role | +
+ Expose |
+
Mac AX API | +
+
|
+
doc-qna
DPUB-ARIA Specification | +
+ doc-qna
+ |
+
---|---|
Computed Role | +doc-qna |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ Expose
+
IAccessible2: + Object attribute +xml-roles:doc-qna
+ |
+
UIA Control Type + Other Features | +
+
|
+
ATK/AT-SPI Role | +
+ Expose |
+
Mac AX API | +
+
|
+
doc-subtitle
DPUB-ARIA Specification | +
+ doc-subtitle
+ |
+
---|---|
Computed Role | +doc-subtitle |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ Expose IAccessible2:
+
|
+
UIA Control Type + Other Features | +
+
|
+
ATK/AT-SPI Role | +
+ Expose |
+
Mac AX API | +
+
|
+
doc-tip
DPUB-ARIA Specification | +
+ doc-tip
+ |
+
---|---|
Computed Role | +doc-tip |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ Expose
+
IAccessible2: + Object attributexml-roles:doc-tip
+ |
+
UIA Control Type + Other Features | +
+
|
+
ATK/AT-SPI Role | +
+ Expose |
+
Mac AX API | +
+
|
+
doc-toc
DPUB-ARIA Specification | +
+ doc-toc
+ |
+
---|---|
Computed Role | +doc-toc |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ Expose IAccessible2:
+
|
+
UIA Control Type + Other Features | +
+
|
+
ATK/AT-SPI Role | +
+ Expose |
+
Mac AX API | +
+
|
+
+ The HTML specification states that other specifications can define translatable attributes [[html]]. The language and directionality of each + attribute value is the same as the language and directionality of the element [[html]]. +
+ +To be understandable by assistive technology users, the following role
mapping values intended for human consumption should be translated when a page is localized:
value
property of AXCustomContent+ This section describes how to expose WAI-ARIA states and object + properties. User agents MUST conform to the + State and Property Mapping accessibility API computational requirements in [[!CORE-AAM-1.1]]. +
++ When computing an accessible name or accessible description, [=user agents=] MUST conform to the section titled + Text Alternative Computation of the [[!ACCNAME-1.2]] specification. +
++ User agents MUST conform to the Relation accessibility API computational + requirements in [[!CORE-AAM-1.1]]. +
++ User agents MUST conform to the Group Position accessibility API computational + requirements in [[!CORE-AAM-1.1]]. +
++ User agents MUST conform to the Actions accessibility API computational requirements in + [[!CORE-AAM-1.1]]. +
++ [=user agents=] fire events for user actions, WAI-ARIA state changes, changes to + document content or node visibility, changes in selection, and operation of menus. Conforming [=user agents=] MUST support the [[!CORE-AAM-1.1]] + Events mappings. +
+This specification introduces no new security considerations.
++ In accordance with Web Platform Design Principles, this specification provides no programatic + interface to determine if information is being used by assistive technologies. However, this specification does allow an author to present different information to users of assistive + technologies from the information available to users who do not use assistive technologies. This is possible using many features of the DPUB-ARIA specification, just as this is possible using + many other parts of the web technology stack. This content disparity could be abused to perform active fingerprinting of users of assistive + technologies. +
+The following people contributed to the development of this document:
+ ++ Enabling users of assistive technologies to find their way through web content requires embedding semantic metadata about web document structural divisions. This is particularly important for + structural divisions of long-form documents and goes along with embedding semantic metadata about web-application widgets and behaviors for assistive technologies. This specification defines a + set of WAI-ARIA roles specific to helping users of assistive technologies navigate through such long-form documents. +
+ +This document is part of the WAI-ARIA suite described in the WAI-ARIA Overview.
+
+ While feedback on any aspect of the specification is encouraged, we would particularly like feedback on the addition of the
There have been only minor clarifications since the First Public Working Draft.
++ WAI-ARIA is a technical specification that defines a common host language semantic accessibility API and framework that enables web + browsers to map the accessibility semantics in web content to platform-specific accessibility APIs. This enables web content to be interoperable with platform assistive technologies similar to + native platform applications without platform dependencies. +
+ ++ This specification is a modular extension of WAI-ARIA designed for the digital publishing industry. The goals of this specification + include: +
+ +The roles defined in this specification are derived from the EPUB Structural Semantics Vocabulary.
+ ++ For a more detailed explanation of WAI-ARIA please refer to the + WAI-ARIA Introduction and how it applies to Rich Internet Application Accessibility. +
+ ++ This specification defines a module of WAI-ARIA for digital publishing, including [=roles=], [=states=], [=ARIA/properties=] and + values. It impacts several audiences: +
+ +Each conformance requirement indicates the audience to which it applies.
+ ++ Although this specification is applicable to the above audiences, it is not specifically targeted to, nor is it intended to be the sole source of information for, any of these audiences. In + the future, additional documents will be created to assist authors in applying these WAI-ARIA semantics for the publishing industry + and to define how the information in this document is mapped to platform accessibility APIs. +
++ This module builds on the general User Agent support principles defined in [[WAI-ARIA]] by also providing the ability for user + agents to enhance the general user interface presented to readers. +
++ The Digital Publishing WAI-ARIA module follows the model for + co-evolution of WAI-ARIA and host languages defined in [[WAI-ARIA]]. + It is intended to augment semantics in supporting languages like [[HTML]], [[SVG2]] and EPUB, or to be used as an accessibility enhancement technology in other markup-based languages that do + not explicitly include support for ARIA. It clarifies semantics to assistive technologies when authors create new types of objects, via style and script, that are not yet directly supported + by the language of the page, because the invention of new types of objects is faster than standardized support for them appears in web languages. +
+ +
+ It is not appropriate to create objects with style and script when the host language provides a semantic element for that type of objects. While
+ WAI-ARIA can improve the accessibility of these objects, accessibility is best provided by allowing the user agent to handle the
+ object natively. For example, it is not better to use a div
element than it is to use a native heading element, such as an h1
.
+
+ It is expected that, over time, host languages will evolve to provide semantics for objects that currently can only be declared with this specification. This is natural and desirable, as one + goal of WAI-ARIA is to help stimulate the emergence of more semantic and accessible markup. When native semantics for a given + feature become available, it is appropriate for authors to use the native feature and stop using this module for that feature. Legacy content may continue to use the Digital Publishing + WAI-ARIA module, however, so the need for user agents to support it remains. +
+ ++ While specific features of this module may lose importance over time, the general possibility of the Digital Publishing + WAI-ARIA module to add semantics to web pages or open web-based standards, such as EPUB, is expected to be a persistent need. Host + languages may not implement all the semantics this module provides, and various host languages may implement different subsets of the features. New types of objects are continually being + developed, and one goal of this specification is to provide a way to make such objects accessible, because authoring practices often advance faster than host language standards. In this way, + this module and host languages both evolve together but at different rates. +
+ ++ Some host languages exist to create semantics for features other than the user interface. For example, SVG expresses the semantics behind production of graphical objects, not of user + interface components that those objects may represent. Host languages such as these might, by design, not provide native semantics that map to this specification's features. In these cases, + the Digital Publishing WAI-ARIA module could be adopted as a long-term approach to add semantic information to these host + languages. +
++ Programmatic access to accessibility semantics is essential for assistive technologies. For more information, refer to the + Assistive Technologies section in [[WAI-ARIA]]. +
+Normative sections provide requirements that authors, user agents and assistive technologies MUST follow for an implementation to conform to this specification.
+ ++ Non-normative 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 to conform to this specification. +
++ This section defines additions to the WAI-ARIA roles model and describes the characteristics and properties of + all roles. See ARIA Roles for descriptions of the fields provided by this module. +
+ ++ Below is an alphabetical list of WAI-ARIA roles to be used by rich internet application + authors. +
+ +Placeholder for compact list of roles
+ +A short summary of the principal ideas, concepts, and conclusions of the work, or of a section or excerpt within it.
+ ++<section role="doc-abstract" aria-label="Abstract"> + <p>Accessibility of web content requires semantic information about widgets, structures, + and behaviors …</p> +</section>+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +EPUB abstract [[EPUB-SSV]] | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +False | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
A section or statement that acknowledges significant contributions by persons, organizations, governments, and other entities to the realization of the work.
+ ++<section role="doc-acknowledgments"> + <p>I would like to extend my sincere gratitude to … </p> +</section>+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +EPUB acknowledgments [[EPUB-SSV]] | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +False | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
+ A closing statement from the author or a person of importance, typically providing insight into how the content came to be written, its significance, or related events that have + transpired since its timeline. +
+ ++<section role="doc-afterword"> + <h2>Afterword: Why I Wrote This Book</h2> + … +</section>+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +EPUB afterword [[EPUB-SSV]] | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +False | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
A section of supplemental information located after the primary content that informs the content but is not central to it.
+ ++<section role="doc-appendix"> + <h2>Appendix A. Historical Timeline</h2> + … +</section>+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +EPUB appendix [[EPUB-SSV]] | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +False | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
A link that allows the user to return to a related location in the content (e.g., from a footnote to its reference or from a glossary definition to where a term is used).
+ ++<aside id="fn01" role="doc-footnote"> + <a role="doc-backlink" href="#fnref01">1.</a> + Additional results of this study and + similar studies can be found at … +</aside>+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +EPUB referrer [[EPUB-SSV]] | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +
+
|
+
Accessible Name Required: | +True | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
+ [Deprecated in DPUB-ARIA 1.1] A single reference to an external source in a bibliography. A biblioentry typically provides more detailed information than its reference(s) in the content + (e.g., full title, author(s), publisher, publication date, etc.). +
+ +
+ The doc-biblioentry
role was designed for use as a list item, but due to clarifications in the WAI-ARIA specification, it is not valid as a child of the
+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | ++ |
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +EPUB biblioentry [[EPUB-SSV]] | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +True | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
A list of external references cited in the work, which may be to print or digital sources.
+ +
+ The element carrying the doc-bibliography
role MUST contain at least one descendant list containing the bibliography entries (if the entries are
+ subdivided, for example alphabetically, the element would contain more than one list).
+
Authors MUST NOT apply the doc-bibliography
role directly to the list containing the entries.
+<section role="doc-bibliography"> + <h2>Select Bibliography</h2> + <ul> + … + </ul> +</section>+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +EPUB bibliography [[EPUB-SSV]] | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +False | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
A reference to a bibliography entry.
+ ++<p> + As <a role="doc-biblioref" + href="#b8cab5dd-bc24-459c-9858-7afa9da69b64">Steinbeck</a> + says in his great novel … +</p>+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +EPUB biblioref [[EPUB-SSV]] | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +
+
|
+
Accessible Name Required: | +True | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
A major thematic section of content in a work.
+ ++<section role="doc-chapter"> + <h2>Chapter 1. Loomings.</h2> + … +</section>+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +EPUB chapter [[EPUB-SSV]] | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +False | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
A short section of production notes particular to the edition (e.g., describing the typeface used), often located at the end of a work.
+ ++<section role="doc-colophon" aria-label="About the type"> + <p>This publication was set using … </p> +</section>+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +EPUB colophon [[EPUB-SSV]] | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +False | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
A concluding section or statement that summarizes the work or wraps up the narrative.
+ ++<section role="doc-conclusion"> + <h2>Summary</h2> + <p>A central task in feminist scholarship is to expose and dismantle the stereotypes … </p> +</section>+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +EPUB conclusion [[EPUB-SSV]] | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +False | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
An image that sets the mood or tone for the work and typically includes the title and author.
+ +<img role="doc-cover" src="coverimage.jpg" alt="A Room of One's Own by Virginia Woolf"/>+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +EPUB cover [[EPUB-SSV]] | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +False | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
An acknowledgment of the source of integrated content from third-party sources, such as photos. Typically identifies the creator, copyright, and any restrictions on reuse.
+ ++<p role="doc-credit"> + Page 62, Table 3.1 from <cite>“Economic Foundations of Cost-Effectiveness Analysis”</cite> + by A. M. Garber and C. E. Phelps … +</p>+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +EPUB credit [[EPUB-SSV]] | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +False | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
A collection of credits.
+ ++<section role="doc-credits"> + <h2>Photo Credits</h2> + … +</section>+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +EPUB credits [[EPUB-SSV]] | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +False | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
An inscription at the front of the work, typically addressed in tribute to one or more persons close to the author.
+ +<p role="doc-dedication">To my family, without whom this would have never been possible.</p>+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +EPUB dedication [[EPUB-SSV]] | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +False | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
[Deprecated in DPUB-ARIA 1.1] One of a collection of notes that occur at the end of a work, or a section within it, that provides additional context to a referenced passage of text.
+ +
+ The doc-endnote
role was designed for use as a list item, but due to clarifications in the WAI-ARIA specification, it is not valid as a child of the
+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +EPUB rearnote [[EPUB-SSV]] | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | ++ |
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
A collection of notes at the end of a work or a section within it.
+ +
+ The element carrying the doc-endnotes
role MUST contain at least one descendant list containing the endnotes (if the notes are subdivided, for example
+ by chapter, the element would contain more than one list).
+
Authors MUST NOT declare elements with the role
Authors MUST NOT apply the doc-endnotes
role directly to the list containing the endnotes.
+<section role="doc-endnotes"> + <h2>Notes</h2> + <ol> + <li id="6baa07af"> + <p>Additional results of this study can be found at … </p> + </li> + <li id="7b2c0555"> + <p>…</p> + </li> + … + </ol> +</section>+ +
+<section role="doc-endnotes"> + <h2>Notes</h2> + <section> + <h3>Canto I</h3> + <div role="list> + <div role="listitem"> + <p>1. The use of alliteration here … </p> + </div> + … + </div> + </section> + … +</section>+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +EPUB rearnotes [[EPUB-SSV]] | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +False | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
A quotation set at the start of the work or a section that establishes the theme or sets the mood.
+ ++<blockquote role="doc-epigraph"> + <p>“Would you tell me please, which way I ought to go from here?”</p> + <p>“That depends a good deal on where you want to get to,” said the cat.</p> +</blockquote>+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +EPUB epigraph [[EPUB-SSV]] | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +False | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
A concluding section of narrative that wraps up or comments on the actions and events of the work, typically from a future perspective.
+ ++<section role="doc-epilogue"> + <header> + <h2>Epilogue</h2> + <p>SPOKEN BY PROSPERO</p> + </header> + <p>Now my charms are all o'erthrown, …</p> + … +</section>+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +EPUB epilogue [[EPUB-SSV]] | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +False | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
A set of corrections discovered after initial publication of the work, sometimes referred to as corrigenda.
+ ++<section role="doc-errata"> + <h2>Corrections</h2> + … +</section>+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +EPUB errata [[EPUB-SSV]] | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +False | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
An illustration of a key concept of the work, such as a code listing, case study or problem.
+ ++<figure role="doc-example"> + <figcaption>Example 1 — Hello World!</figcaption> + … +</figure>+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | ++ |
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +False | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
Ancillary information, such as a citation or commentary, that provides additional context to a referenced passage of text.
+ +
+ The doc-footnote
role is only for representing individual notes that occur within the body of a work. For collections of notes that occur at the end
+ of a section, see
+<aside id="6baa07af" role="doc-footnote"> + * Additional results of this study and similar studies can be found at … +</aside>+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +EPUB footnote [[EPUB-SSV]] | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | ++ |
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
An introductory section that precedes the work, typically not written by the author of the work.
+ ++<section role="doc-foreword"> + <h2>Foreword</h2> + … +</section>+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +EPUB foreword [[EPUB-SSV]] | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +False | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
A brief dictionary of new, uncommon, or specialized terms used in the content.
+ +The structure of a glossary SHOULD make it possible for end users to identify each term and associated definition (e.g., using the [[HTML]] dfn
element).
+<section role="doc-glossary" aria-label="glossary"> + <dl> + … + <dt id="bcc0f155"><dfn>Credit default swap</dfn></dt> + <dd> + A credit default swap effectively insures against + default by a borrower. + </dd> + … + </dl> +</section>+ +
+<section role="doc-glossary" aria-labelledby="glosshd"> + <h2 id="glosshd">Glossay of Technical Terms</h2> + <ul> + <li id="gtt00110001"><dfn>algorithm</dfn> A set of rules …</li> + … + </ul> +</section>+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +EPUB glossary [[EPUB-SSV]] | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +False | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
A reference to a glossary definition.
+ ++<p> + This is indicated in the cost of a + <a href="#bcc0f155" role="doc-glossref">credit default swap</a> … +</p>+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +EPUB glossref [[EPUB-SSV]] | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +
+
|
+
Accessible Name Required: | +True | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
A navigational aid that provides a detailed list of links to key subjects, names and other important topics covered in the work.
+ ++<section role="doc-index"> + <h2>Index</h2> + <section> + <h2>A</h2> + <ul> + <li>A/B testing, <a href="chapter03.xhtml#page230">230</a></li> + … + </ul> + </section> + … +</section>+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +
+ |
+
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +EPUB index [[EPUB-SSV]] | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +False | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
A preliminary section that typically introduces the scope or nature of the work.
+ ++<section role="doc-introduction"> + <p>Everyone has some experience with marketing … </p> +</section>+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +EPUB introduction [[EPUB-SSV]] | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +False | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
A reference to a footnote or endnote, typically appearing as a superscripted number or symbol in the main body of text.
+ +<p> … as studies have shown.<a href="#fn01" id="fnref01" role="doc-noteref">[1]</a></p>+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +EPUB noteref [[EPUB-SSV]] | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +
+
|
+
Accessible Name Required: | +True | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
Notifies the user of consequences that might arise from an action or event. Examples include warnings, cautions and dangers.
+ ++<section role="doc-notice"> + <img src="warning.png" alt="warning icon"/> + <p>Just because you can include a font doesn’t mean you should. + Think carefully about readability. Also, be respectful of intellectual property. + There are many excellent free open-source fonts available.</p> +</section>+ +
Authors SHOULD include a label when the notice needs to be navigable to.
+ ++<div role="doc-notice" aria-label="Explosion Risk"> + <p><em>Danger!</em> Mixing reactive materials may cause an explosion.</p> +</div>+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +EPUB notice [[EPUB-SSV]] | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +False | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
A separator denoting the position before which a break occurs between two contiguous pages in a statically paginated version of the content.
+ ++ Page break locators are also commonly used to provide static markers in purely digital publications (i.e., where no statically paginated equivalent exists). These markers provide + consistent navigation regardless of differences in font and screen size that can otherwise affect the dynamic pagination of the content. +
+ ++ Authors MUST ensure the name of the page break is an end user-consumable page number that identifies the page that is beginning so that assistive technologies can announce the page as + needed (e.g., in a command to identify the current page). +
+ +
+ The page break locator MUST precede the content of the page it identifies. If a page includes a header (
+ When reproducing page break locators from a static page equivalent, it is sometimes the case that words are hyphenated across pages. When this happens, the page break locator SHOULD be + placed either before or after the word to ensure it does not interfere with text-to-speech playback. +
+ + +Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +EPUB pagebreak [[EPUB-SSV]] | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +
+
|
+
Accessible Name Required: | +True | +
Inherits Name Required: | ++ |
Children Presentational: | +True | +
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
A navigational aid that provides a list of links to the page breaks in the content.
+ ++<nav role="doc-pagelist"> + <h2>Pages</h2> + <ol> + <li><a href="chapter.xhtml#Page_1">1</a></li> + <li><a href="chapter.xhtml#Page_2">2</a></li> + … + </ol> +</nav>+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +EPUB page-list [[EPUB-SSV]] | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +False | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
+ A section of text appearing at the bottom of a page that provides context about the current work and location within it. The page footer is distinct from the body text and normally + follows a repeating template that contains (possibly truncated) items such as the document title, current section, author name(s), and page number. +
+ +The doc-pagefooter
role MUST be used on every instance of the page footer.
The doc-pagefooter
MUST NOT contain the
The doc-pagefooter
MUST NOT contain footnotes (
Assistive technologies MAY allow the user to read the document content continuously without interruption from the page footer.
+ ++<section role="doc-pagefooter"> + <div>Leo Tolstoy</div> + <div>321</div> + … +</section>+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | ++ |
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +prohibited | +
Accessible Name Required: | +False | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
+ A section of text appearing at the top of a page that provides context about the current work and location within it. The page header is distinct from the body text and normally follows + a repeating template that contains (possibly truncated) items such as the document title, current section, author name(s), and page number. +
+ +The doc-pageheader
role MUST be used on every instance of the page header.
Assistive technologies MAY allow the user to read the document content continuously without interruption from the page header.
+ ++<section role="doc-pageheader"> + <div>War and Peace</div> + <div>321</div> + … +</section>+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | ++ |
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +prohibited | +
Accessible Name Required: | +False | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
A major structural division in a work that contains a set of related sections dealing with a particular subject, narrative arc, or similar encapsulated theme.
+ ++<section role="doc-part"> + <h2>Part One</h2> + <section role="doc-chapter"> + <h2>Chapter 1</h2> + … + </section> + … +</section>+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +EPUB part [[EPUB-SSV]] | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +False | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
An introductory section that precedes the work, typically written by the author of the work.
+ ++<section role="doc-preface"> + <h2>Introduction:A Guide to the Galaxy</h2> + … +</section>+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +EPUB preface [[EPUB-SSV]] | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +False | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
An introductory section that sets the background to a work, typically part of the narrative.
+ ++<section role="doc-prologue"> + <header> + <h2>Prologue</h2> + <p>Chorus</p> + </header> + <p>Two households, both alike in dignity, …</p> + … +</section>+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +EPUB prologue [[EPUB-SSV]] | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +False | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
A distinctively placed or highlighted quotation from the current content designed to draw attention to a topic or highlight a key point.
+ +
+ Unlike a passage quoted from another source, a pullquote is a direct repetition of text in the current document. As a result, authors must ensure that the presentational occurrence is
+ hidden from users of assistive technologies (e.g., using the
+ The following example shows the identification of a pullquote that will be presented elsewhere (e.g., via a script). In this case, the pullquote is not hidden as the marked text is not + presentational. +
+ ++<p>… I may die, but first you, my tyrant and tormentor, shall curse the sun that gazes on your misery. + <span id="pq01" role="doc-pullquote">Beware, for I am fearless and therefore powerful.</span> + I will watch with the wiliness of a snake, that I may sting with its venom. … </p>+ +
The next example shows a pullquote that duplicates the text. This quote is hidden because it is for presentational purposes only.
+ ++<p>… Better habits pave the way to growth, and growth leads to greater happiness.</p> +<aside role="doc-pullquote" aria-hidden="true"> + Better habits pave the way to growth, and growth leads to greater happiness. +</aside>+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +EPUB pullquote [[EPUB-SSV]] | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +False | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
A section of content structured as a series of questions and answers, such as an interview or list of frequently asked questions.
+ ++<section role="doc-qna"> + <h2>Interview with the Author</h2> + <dl> + <dt>Q: When did you begin writing this book?</dt> + <dd>A: I first got the idea …</dd> + … + </dl> +</section>+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +EPUB qna [[EPUB-SSV]] | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +False | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
An explanatory or alternate title for the work, or a section or component within it.
+ ++<header> + <h2>Chapter 2 The Battle</h2> + <p role="doc-subtitle">Once more unto the breach</p> +</header>+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +EPUB subtitle [[EPUB-SSV]] | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +
+
|
+
Accessible Name Required: | +False | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
Helpful information that clarifies some aspect of the content or assists in its comprehension.
+ ++<aside role="doc-tip"> + <h3>Tip</h3> + <p>You can assign a variable a new value that is the result + of an expression involving its previous value.</p> +</aside>+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +EPUB help [[EPUB-SSV]] | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +False | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
+ A navigational aid that provides an ordered list of links to the major sectional headings in the content. A table of contents may cover an entire work, or only a smaller section of it. +
+ ++<nav role="doc-toc"> + <h2>Contents</h2> + <ol role="directory"> + <li><a href="preface_001.xhtml">Original Transcriber’s Notes:</a></li> + <li><a href="introduction_001.xhtml">ETYMOLOGY.</a></li> + <li><a href="epigraph_001.xhtml">EXTRACTS (Supplied by a Sub-Sub-Librarian).</a></li> + <li><a href="chapter_001.xhtml">Chapter 1. Loomings.</a></li> + … + </ol> +</nav>+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +EPUB toc [[EPUB-SSV]] | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +False | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
This specification introduces no new security considerations.
++ In accordance with Web Platform Design Principles, this specification provides no programatic + interface to determine if information is being used by assistive technologies. However, this specificaton does allow an author to present different information to users of assistive + technologies from the information available to users who do not use assistive technologies. This is possible using many features of the DPUB-ARIA specification, just as this is possible using + many other parts of the web technology stack. This content disparity could be abused to perform active fingerprinting of users of assistive + technologies. +
+doc-bibliography
and doc-endnotes
are doc-biblioentry
and
+ doc-endnote
+ The following people contributed to the development of this document:
+ ++ The Graphics Accessibility API Mappings defines how user agents map the WAI-ARIA Graphics Module [[GRAPHICS-ARIA-1.0]] markup to platform + accessibility APIs. It is intended for user agent developers responsible for accessibility in their user agent so that they can support the accessibility of graphics such as that created for [[SVG]] or + [[HTML52]]. +
++ The implementation of this specification in user agents enables authors to produce more accessible graphics by conveying common graphics semantics to assistive technologies. It provides + Accessibility API Mapping guidance for the roles defined in the WAI-ARIA Graphics Module [[GRAPHICS-ARIA-1.0]]. +
++ The Graphics Accessibility API Mappings is part of the + WAI-ARIA suite described in the + WAI-ARIA Overview. +
++ This is an Editor's Draft of Graphics Accessibility API Mappings 1.0 by the SVG Accessibility Task Force, a joint task force of the + Accessible Rich Internet Applications Working Group and the SVG Working Group. It provides guidance + for mapping roles in WAI-ARIA Graphics Module [[GRAPHICS-ARIA-1.0]] to accessibility APIs, and complements SVG-specific mappings in the + SVG Accessibility API Mappings [[SVG-AAM-1.0]]. It extends Core Accessibility Mappings 1.1 [[CORE-AAM-1.1]], and is part + of a suite of similar technology-specific Accessibility API Mappings specifications. +
+Feedback on any aspect of the specification is accepted. For this publication, the SVG Accessibility Task Force particularly seeks feedback on the following questions:
++ To comment, file an issue in the W3C graphics-aam GitHub repository. If this is not feasible, send email to + public-aria@w3.org (comment archive). + In-progress updates to the document may be viewed in the publicly visible editors' draft. +
+The Graphics Accessibility API Mappings specification provides role mappings for the roles in the WAI-ARIA Graphics Module [[GRAPHICS-ARIA-1.0]].
++ For web documents and applications, the essential semantic information is encapsulated within the Document Object Model (DOM). Assistive technologies + obtain this information from the user agent, which maps elements and attributes to the platform Accessibility API. +
++ The original suite of element semantics defined by + WAI-ARIA 1.0 only considered graphics as individual embedded images, with no interactivity or meaningful semantic structure. It was + therefore not sufficient for communicating complex graphics, such as labelled diagrams or data charts, or for interactive graphics. The WAI-ARIA Graphics Module defines a core set of three + roles that can convey the structure of a graphic. This specification defines how user agents should expose those roles to the accessibility APIs currently in use, so that the + semantic information is available to assistive technologies that use those APIs. +
+ ++ For an introduction to WAI-ARIA, see the + WAI-ARIA Overview. It is part of a set of resources that define and support the + WAI-ARIA specification, including the following documents: +
++ The main content of this specification is normative and defines requirements that impact conformance claims. Introductory material, appendices, sections marked as "non-normative" and their + subsections, diagrams, examples, and notes are informative (non-normative). Non-normative material provides advisory information to help interpret the guidelines but does not create + requirements that impact a conformance claim. +
+
+ Normative sections provide requirements that user agents must follow for an implementation to conform to this specification. The keywords MUST,
+ MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD,
+ RECOMMENDED, MAY, and OPTIONAL in this document are to be interpreted as described in
+ Keywords for use in RFCs to indicate requirement levels [[!RFC2119]]. RFC-2119 keywords are formatted in uppercase and
+ contained in an element with class="rfc2119"
. When the keywords shown above are used, but do not share this format, they do not convey formal information in the RFC 2119 sense,
+ and are merely explanatory, i.e., informative. As much as possible, such usages are avoided in this specification.
+
Normative sections provide requirements that authors, 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. +
+This section MUST conform to General rules for exposing WAI-ARIA semantics in [[!CORE-AAM-1.1]].
+User agents MUST conform to Conflicts between native markup semantics and WAI-ARIA in [[!CORE-AAM-1.1]].
++ User agents MUST conform to + Exposing attributes that do not directly map to accessibility API properties in + [[!CORE-AAM-1.1]]. +
++ Platform accessibility APIs traditionally have had a finite set of predefined roles that + are expected by assistive technologies on that platform and only one or two roles may be exposed. In contrast, + WAI-ARIA allows multiple roles to be specified as an ordered set of space-separated valid role tokens. The additional roles are + fallback roles similar to the concept of specifying multiple fonts in case the first choice font type is not supported. +
++ User agents MUST conform to the Role Mapping General Rules accessibility API computational + requirements in [[!CORE-AAM-1.1]]. +
++ This section defines how roles in graphics map to platform accessibility APIs based on their native host language semantics and when WAI-ARIA roles are applied. This section refers directly + to the Core Accessibility API Mappings specification. +
+graphics-document
Graphics-ARIA Specification | +
+ graphics-document
+ |
+
---|---|
Computed Role | +
+ graphics-document
+ |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+
IAccessible2: Object attribute |
+
UIA Control Type + Other Features | +Control Type: 'Document' . |
+
ATK/AT-SPI Role | +
+ Expose |
+
AXAPI | +
+ AXRole: AXGroup + AXSubrole: AXDocument + AXRoleDescription: 'document'
+ |
+
graphics-object
Graphics-ARIA Specification | +
+ graphics-object
+ |
+
---|---|
Computed Role | +
+ graphics-object
+ |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ ROLE_SYSTEM_GROUPING +
+ IAccessible2: Object attribute |
+
UIA Control Type + Other Features | +Control Type: 'Group' . |
+
ATK/AT-SPI Role | +
+ Expose |
+
AXAPI | +
+ AXRole: AXGroup + AXSubrole: <nil> + AXRoleDescription: 'group'
+ |
+
graphics-symbol
Graphics-ARIA Specification | +
+ graphics-symbol
+ |
+
---|---|
Computed Role | +
+ graphics-symbol
+ |
+
MSAA + IAccessible2 Role + Other IAccessible2 Features | +
+ ROLE_SYSTEM_GRAPHIC
+ IAccessible2: Object attribute |
+
UIA Control Type + Other Features | +Control Type: 'Image' . |
+
ATK/AT-SPI Role | +
+ Expose |
+
AXAPI | +
+ AXRole: AXImage + AXSubrole: <nil> + AXRoleDescription: 'image'
+ |
+
The full commit history to Graphics Accessibility API Mappings 1.0 is available.
+ +The following people contributed to the development of this document.
+Assistive technologies need semantic information about widgets, structures and behaviors to convey appropriate information to persons with disabilities. This specification defines a [[!WAI-ARIA]] module of roles, states and properties specific to web graphics. These semantics allow an author to convey user interface behaviors and structural information to assistive technologies and to enable semantic navigation, styling and interactive features used by readers. It is expected this will complement [[HTML5]] and [[SVG2]].
+This document is part of the WAI-ARIA suite described in the WAI-ARIA Overview.
+Please record issues on this specification through the Github W3C/aria issue tracker, using the prefix "Graphics" for any issue.
+WAI-ARIA is a technical specification that defines a common host language semantic accessibility API and framework that enables web browsers to map the accessibility semantics in web content to platform-specific accessibility APIs. This enables web content to be interoperable with platform assistive technologies similar to native platform applications without platform dependencies.
+This specification is a modular extension of WAI-ARIA designed to support graphics. The goals of this specification include:
+For a more detailed explanation of WAI-ARIA please refer to the WAI-ARIA Introduction and how it applies to Rich Internet Application Accessibility.
+ +This specification defines a module of WAI-ARIA for graphics, including roles, states, properties and values. It impacts several audiences:
+Each conformance requirement indicates the audience to which it applies.
+ +This module builds on the general User Agent support principles defined in [[!WAI-ARIA]] by also providing the ability for user agents to enhance the general user interface presented to readers.
+The Graphics WAI-ARIA module follows the model for co-evolution of WAI-ARIA and host languages defined in [[!WAI-ARIA]]. It is intended to augment semantics in supporting languages like [[HTML5]], [[!SVG2]] and EPUB, or to be used as an accessibility enhancement technology in other markup-based languages that do not explicitly include support for ARIA. It clarifies semantics to assistive technologies when authors create new types of objects, via style and script, that are not yet directly supported by the language of the page, because the invention of new types of objects is faster than standardized support for them appears in web languages.
+It is not appropriate to create objects with style and script when the host language provides a semantic element for that type of objects. While WAI-ARIA can improve the accessibility of these objects, accessibility is best provided by allowing the user agent to handle the object natively. For example, it is not better to use a div
element than it is to use a native heading element, such as an h1
.
It is expected that, over time, host languages will evolve to provide semantics for objects that currently can only be declared with this specification. This is natural and desirable, as one goal of WAI-ARIA is to help stimulate the emergence of more semantic and accessible markup. When native semantics for a given feature become available, it is appropriate for authors to use the native feature and stop using this module for that feature. Legacy content may continue to use the Graphics WAI-ARIA module, however, so the need for user agents to support it remains.
+While specific features of this module may lose importance over time, the general possibility of the Graphics WAI-ARIA module to add semantics to web graphics or open web based standards, is expected to be a persistent need. Host languages may not implement all the semantics this module provides, and various host languages may implement different subsets of the features. New types of objects are continually being developed, and one goal of this specification is to provide a way to make such objects accessible, because authoring practices often advance faster than host language standards. In this way, this module and host languages both evolve together but at different rates.
+Some host languages exist to create semantics for features other than the user interface. For example, SVG expresses the semantics behind production of graphical objects, not of user interface components that those objects may represent. Host languages such as these might, by design, not provide native semantics that map to this specification's features. In these cases, the Graphics WAI-ARIA module could be adopted as a long-term approach to add semantic information to these host languages.
+Programmatic access to accessibility semantics is essential for assistive technologies. For more information, refer to the Assistive Technologies section in [[!WAI-ARIA]].
+This specification indicates whether a section is normative or informative. Classifying a section as normative or informative applies to the entire section. A statement "This section is normative" or "This section is informative" applies to all sub-sections of that section.
+Normative sections provide requirements that authors, user agents and assistive technologies MUST follow for an implementation to conform to this specification.
+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.
++ This section defines additions to the + WAI-ARIA + role taxonomy + and describes the characteristics and properties of all roles. + See ARIA Roles for descriptions + of the fields provided by this module. +
+Authors are given the ability to influence what is presented to assistive technologies and to influence navigation through
+ the use of roles and properties. With graphics, there are many cases where presenting and navigating every element will make the
+ graphic harder to understand and use. Authors may mark elements for non-visual exclusion by assigning the role
If an author does not want a user agent to non-visually present an element and does not want the
+ element included in navigaion then the element should be given a role of
User agents are expected to use the
+ Below is an alphabetical list of the + WAI-ARIA + roles defined in this specification. + They would normally be used in combination with other roles + defined in [[WAI-ARIA]] + to annotate graphics within documents and rich internet applications. +
+ +Placeholder for compact list of roles
+A type of guide object, usually a comment, explaination or note.
+
+ <g role="graphics-annotation" font-family="Arial" text-anchor="middle" font-size="12" >
+ <text x="320" y="12.56" role="graphics-label">Sample map with two-level color coding.</text>
+ <text x="320" y="26.56" role="graphics-label">The basic hue is set by the region, a categorical variable.</text>
+ <text x="320" y="40.56" role="graphics-label">The color is then modified by a numeric variable. </text>
+ <text x="320" y="54.56" role="graphics-label">See the color aesthetics of the element for the general technique. </text>
+ </g>
+
+
+
+
+ Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +Text annotation | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | +|
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +True | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
A scale often used with charts to show the scale of a dimension (variable).
+ When a graph contains more than one axis, an author should distinguish between the
+ axes by using
+ the
Differentiating between axes using the
+<g transform="translate(57 29)" role="graphics-axis" aria-gtype="y" aria-labelledby="yt" font-family="Arial"> + <path fill="none" d="m0 0v353"/> + <text id="yt" x="176" y="-38" text-anchor="middle" font-weight="bold" transform="matrix(0-1 1 0 0 353)" >Sales + </text> + <g fill="none" role="none"> + <path d="m0 353h-4.667"/> + <path d="m0 317.7h-4.667"/> + <path d="m0 282.4h-4.667"/> + <path d="m0 247.1h-4.667"/> + <path d="m0 211.8h-4.667"/> + <path d="m0 176.5h-4.667"/> + <path d="m0 141.2h-4.667"/> + <path d="m0 105.9h-4.667"/> + <path d="m0 70.6h-4.667"/> + <path d="m0 35.3h-4.667"/> + <path d="m0 0h-4.667"/> + </g> + <g fill="none" role="none"> + <g text-anchor="end" font-size="12" rotate="0" role="none"> + <text x="-7.667" y="357.06" role="graphics-axistick">0</text> + <text x="-7.667" y="321.76" role="graphics-axistick">50</text> + <text x="-7.667" y="286.46" role="graphics-axistick">100</text> + <text x="-7.667" y="251.16" role="graphics-axistick">150</text> + <text x="-7.667" y="215.86" role="graphics-axistick">200</text> + <text x="-7.667" y="180.56" role="graphics-axistick">250</text> + <text x="-7.667" y="145.26" role="graphics-axistick">300</text> + <text x="-7.667" y="109.96" role="graphics-axistick">350</text> + <text x="-7.667" y="74.66" role="graphics-axistick">400</text> + <text x="-7.667" y="39.36" role="graphics-axistick">450</text> + <text x="-7.667" y="4.06" role="graphics-axistick">500</text> + </g> + </g> +</g> ++
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | +Chart axes | +
Related Concepts: | ++ |
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | +
+
|
+
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +True | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
A visible axis tick label.
+ ++ + <text x="-7.667" y="215.86" role="graphics-axistick">200</text> ++
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | +Chart axes | +
Related Concepts: | ++ |
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | +
+
|
+
Inherited States and Properties: | ++ |
Name From: | +content | +
Accessible Name Required: | +False | +
Inherits Name Required: | ++ |
Children Presentational: | +True | +
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
A semantic
For example, the group containing the graphics-datagroup
.
For example, in a stacked bar chart, the group containing all the stacks should have a role of graphics-datagroup
+ since the group represents the data feature of the chart.
+ Each group containing a stack of bars should have a role of graphics-datagroup
as they represent a semantic object which can contain
+ data related information like the sum for the stack.
For example, in a pie chart the group containing all the pie wedges should have the role graphics-datagroup
as it represents the data feature of the chart. However,
+ if the group containing all the pie wedges, has two child groups that are only there for style inheirtance, for instance to convey text anchor position to their
+ children,
+ then the two child groups are not semantic groups and should have a role of
+<g role="graphics-datagroup"> + <path d="m72.5 50.936h9v26.07h-9z" aria-label="270,000 shares traded on 7/28/80" role="graphics-dataitem" + aria-setsize='4' aria-posinset='1' > + <title>270,000 shares traded on 7/28/80</title> + </path> + <path d="m111 37.48h9v39.52h-9z" aria-label="410,000 shares traded on 7/29/80" role="graphics-dataitem" + aria-setsize='4' aria-posinset='2' > + <title>410,000 shares traded on 7/29/80</title> + </path> + <path d="m149.5 23.514h9v53.49h-9z" aria-label="560,000 shares traded on 7/30/80" role="graphics-dataitem" + aria-setsize='4' aria-posinset='3' > + <title>560,000 shares traded on 7/30/80</title> + </path> + <path d="m188 15.01h9v61.995h-9z" aria-label="630,000 shares traded on 7/31/80" role="graphics-dataitem" + aria-setsize='4' aria-posinset='4' > + <title>630,000 shares traded on 7/31/80</title> + </path> +</g> ++
Characteristic | +Value | +
---|---|
Is Abstract: | +False | +
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +|
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | +
+
|
+
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +True | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
An object that represents a single data row or a single data entity. A graphics-dataitem
may be further split into child components if needed.
+ For example, a graphics-dataitem
for a box and whisker plot may contain the components of the box and whisker (fence, box, median) and each of the components would
+ be a graphics-dataitem
. A set of graphics-dataitem
may be ordered. If ordered,
The role graphics-dataitem
is usually associated with charts, graphs, infographics and data visualizations.
+ Other domains like technical drawings may prefer using the role
+ <path d="m188 15.01h9v61.995h-9z" aria-label="630,000 shares traded on 7/31/80" role="graphics-dataitem"> + <title>630,000 shares traded on 7/31/80</title> + </path> ++
Characteristic | +Value | +
---|---|
Is Abstract: | +False | +
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +
|
+
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | +
+
|
+
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +True | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
A line that defines the length of an object.
+ +Characteristic | +Value | +
---|---|
Is Abstract: | +False | +
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +dimension line | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | +
+ |
+
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +True | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
+ A graphics document contains complex content
+ that a user should be able to explore.
+ Similar to
+
+ Accessibility technologies that re-format a document
+ should avoid altering the layout of a graphical document.
+ For this reason, authors should limit the graphical document role
+ to regions for which layout has semantic meaning.
+ A collection of distinct graphics that can be re-arranged
+ without losing meaning
+ could instead be described as a
+ Future specifications are expected to define + sub-classes of this role + for particular types of graphical documents, + such as charts or maps. +
++ The editors have not finalized the name for this role. +
+
+ To support user agents and assistive technologies
+ based on the ARIA 1.0 specification,
+ authors may wish to include the role="graphics-document document"
.
+
+<!-- An SVG diagram of an electrical circuit --> +<svg xmlns="http://www.w3.org/2000/svg" + width="400" height="200" viewBox="0 0 200 100" + role="graphics-document document" > + <title>A simple circuit</title> + <desc>A circuit with one source, one switch, and one load</desc> + <style type="text/css"> + /* omitted */ + </style> + <g id="battery-1" role="graphics-symbol img" + aria-roledescription="source" + aria-label="battery" + aria-flowto="switch-1" + transform="translate(20,50)" > + <path d="M-15,-5 h30 M-5,5 h10" /> + </g> + <path class="wire" d="M20,45 V20 H90"/> + <g id="switch-1" role="graphics-symbol img" + aria-roledescription="switch" + aria-label="single-pole switch" + aria-flowto="lightbulb-1" > + <path d="M90,20 L105,30" /> + <circle class="connection" cx="90" cy="20" r="2" /> + <circle class="connection" cx="110" cy="20" r="2" /> + </g> + <!-- more wires and a light bulb --> +</svg> + + ++
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | ++ |
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +True | +
Inherits Name Required: | ++ |
Children Presentational: | +False | +
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
+ A distinct perceivable
+ A figure often has a visible caption. + It may be referenced from the surrounding text + using a hyperlink or a numbered label. + Figures will often contain graphical content. + However, other content types + with a similar position in the document structure, + such as labelled code samples or audio elements, + would also be figures. + Figures may be nested, + if the nested figures are also likely + to be referenced as discrete units within the page. +
++ The semantics of this role are intended to mirror + the native semantics of the + figure + element in [[HTML5]]. + It is expected that future versions of HTML + will make this the default semantic role for that element. +
+
+ To support user agents and assistive technologies
+ based on the ARIA 1.0 specification,
+ authors may wish to include the role="graphics-figure region"
.
+
+<!-- Within an HTML 5 document --> +<p><a href="#fig1">Figure 1</a> outlines the basic shape + elements available in SVG. As shown in 1(d), a rectangle element + can have rounded corners, and can even be made to look like an ellipse.</p> +<figure id="fig1" role="graphics-figure region"> + <svg viewBox="0 0 160 170" role="none" + font-size="14px"> + <g role="graphics-figure" aria-labelledby="circle-label"> + <circle cx="40" cy="30" r="25" /> + <text id="circle-label" x="5" y="70" + >a) Circle</text> + </g> + <!-- … --> + <g role="graphics-figure" aria-labelledby="roundrect-label" + transform="translate(80,80)"> + <rect x="10" y="10" width="60" height="40" + ry="15" rx="20" /> + <text id="roundrect-label" x="5" y="70" + >d) Rounded + <tspan x="30" dy="1em">Rect</tspan></text> + </g> + </svg> + <figcaption>Figure 1: The Basic SVG Shapes</figcaption> +</figure> + + ++
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ HTML figure | +
Related Concepts: | ++ |
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +True | +
Inherits Name Required: | ++ |
Children Presentational: | +False | +
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
A edge (connector) connects two data items, and may have a from/to relationship. + A edge may form a loop, that is the from and to may be the same item. graphics-edge + is the default role for the connector element.
++ This role won't appear in the final spec and is temporarily here for completeness during discussions. This role is tied to + the connector element, which won't make it into SVG 2. +
+ + +Characteristic | +Value | +
---|---|
Is Abstract: | +False | +
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | +SVG Connector | +
Related Concepts: | ++ |
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | +
+ |
+
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +True | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
A network of lines representing the earth's parallels of latitude and meridians of longitude.
+ +Characteristic | +Value | +
---|---|
Is Abstract: | +False | +
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | ++ |
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | +
+ |
+
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +True | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
A network of lines of constant value, usually associated with a value on an axis.
+ +Characteristic | +Value | +
---|---|
Is Abstract: | +False | +
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | ++ |
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | +
+ |
+
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +True | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
A guide object used to help interpret the graphic.
+ Even though there are several subclasses of graphics-guide
,
+ graphics-guide
is not an abstract role as there are situations where a subclass doesn't
+ meet the authors need. When graphics-guide
is used
+ the
+ The preceeding paragraph is dependent on + aria-roledescription being incorporated + into the ARIA 1.1 specification. +
+Characteristic | +Value | +
---|---|
Is Abstract: | +False | +
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | ++ |
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | +
+ |
+
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +True | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
A visible label.
+If the author does not want the user to be able to navigate to the label, they should have
+ labeled object's
+ <text x="-7.667" y="215.86" role="graphics-label">200</text> ++
Characteristic | +Value | +
---|---|
Is Abstract: | +False | +
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | ++ |
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | +
+ |
+
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +True | +
Inherits Name Required: | ++ |
Children Presentational: | +True | +
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
A scale for data representation, commonly used on charts, maps, instructional drawings and the like. Legends may show any chart aesthetic (color, size, symbol, size, etc).
+
+ <g transform="translate(100)" role="graphics-legend" font-size="12" font-family="Arial,SanSerif" fill="transparent">
+ <path stroke-width="1" d="m0 0h40v144h-40z"/>
+ <path d="m16.5 1.5h7v14h-7z"/>
+ <text x="20" y="12.56" text-anchor="middle" font-weight="bold" fill="#00f" role="graphics-title">brand
+ </text>
+ <g transform="translate(0 18)">
+ <path d="m2.5 2.5h33v20h-33z"/>
+ <path fill="#0089ce" stroke="#000" stroke-width="2"d="m2.5 2.5h20v20h-20z" role="graphics-symbol"/>
+ <path d="m27.5 5.5h8v14h-8z"/>
+ <text x="27.5" y="16.56" fill="#000" role="graphics-label">1
+ </text>
+ </g>
+ <g transform="translate(0 18)">
+ <path d="m2.5 27.5h33v20h-33z"/>
+ <path fill="#7cbc4a" stroke="#000" stroke-width="2"d="m2.5 27.5h20v20h-20z" role="graphics-symbol"/>
+ <path d="m27.5 30.5h8v14h-8z"/>
+ <text x="27.5" y="41.56" fill="#000" role="graphics-label">2
+ </text>
+ </g>
+ <g transform="translate(0 18)">
+ <path d="m2.5 52.5h33v20h-33z"/>
+ <path fill="#d8c625" stroke="#000" stroke-width="2"d="m2.5 52.5h20v20h-20z" role="graphics-symbol"/>
+ <path d="m27.5 55.5h8v14h-8z"/>
+ <text x="27.5" y="66.56" fill="#000" role="graphics-label">3
+ </text>
+ </g>
+ </g>
+
+
+
+ Characteristic | +Value | +
---|---|
Is Abstract: | +False | +
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | ++ |
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | +
+ |
+
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +True | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
+ A section of a graphical document
+ that represents a cohesive item or object
+ with component parts the user may wish to explore.
+ It is in contrast to a
+ The editors have not finalized the name for this role. +
+
+ To support user agents and assistive technologies
+ based on the ARIA 1.0 specification,
+ authors may wish to include the role="graphics-object group"
.
+
+<g role="graphics-object group" + aria-labelledby="house-label" + transform="translate(100,325)"> + <desc>A two-storey brick house, drawn with basic shapes. + </desc> + <!-- The house has a number of details worth calling out, + so it is a graphical object --> + + <rect fill="firebrick" stroke="darkRed" + width="300" height="200" y="-200" + role="none" /><!-- the walls of the house are + already described thoroughly, + so no role is required --> + + <g role="img" aria-label="door" + transform="translate(30,-90)"> + <desc>The brown door on the left side of the building + has a window and a round doorknob</desc> + <rect fill="darkKhaki" stroke="#632" + width="50" height="90"/> + <rect fill="lightSteelBlue" stroke="#632" stroke-width="4" + x="5" y="5" width="40" height="30" /> + <circle fill="gray" stroke="#444" stroke-width="0.7" + cx="10" cy="50" r="4" /> + </g> + + <g role="group" aria-label="windows" + fill="lightSteelBlue" stroke="#632" stroke-width="6"> + <!-- The windows are distinct objects, + grouped together with a common label --> + <g role="none" transform="translate(0,-85)"> + <rect aria-label="first-floor window" + x="100" width="25" height="45"> + <desc>A small window beside the door</desc> + </rect> + <path aria-label="first-floor living-room window" + d="M180,0h100v60h-100v-60z + m30,0v60 m40,0v-60"> + <desc>A large three-pane window fills + the rest of the first floor</desc> + </path> + </g> + <g role="none" transform="translate(0,-180)"> + <!-- more windows on the second floor --> + </g> + </g> + + <g aria-label="roof" role="graphics-object group" + transform="translate(0,-200)"> + <desc>A peaked roof</desc> + <g aria-label="chimney" role="graphics-object"> + <desc>The chimney has a puff of smoke + rising from it</desc> + <!-- The graphical object role allows for further + nested sub-components. + However, based on the default SVG API mappings, + these shapes, which have neither labels nor descriptions, + will be treated as presentation. --> + <rect fill="firebrick" stroke="darkRed" + x="280" y="-60" width="20" height="60" /> + <path fill="gray" fill-opacity="0.4" + d="M280,-70c0-10 30-20 45-35 + c15-40 25,10 25,20 s-70,25 -70,15z" /> + </g> + + <polygon role="none" fill="#222" + points="-20,2 150,-100 320,2" /> + </g> + + <text id="house-label" + font-family="cursive" font-size="36px" + x="70" y="50">My House</text> +</g> + + ++
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +
+
|
+
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +
+
|
+
Accessible Name Required: | +False | +
Inherits Name Required: | ++ |
Children Presentational: | +False | +
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
A type of guide object, usually a reference for measuring.
+ Even though there are several subclasses of graphics-scale
,
+ graphics-scale
is not an abstract role as there are situations where a subclass doesn't
+ meet the authors need. When graphics-scale
is used
+ the
+ The preceeding paragraph is dependent on + aria-roledescription being incorporated + into the ARIA 1.1 specification. +
+ + +Characteristic | +Value | +
---|---|
Is Abstract: | +False | +
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | ++ |
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | +
+ |
+
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +True | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
+ A graphic used to convey a simple meaning or category, + where the meaning is more important + than the particular visual appearance. + It may be a component of a larger structured graphic + such as a chart or map. + The symbol itself is an atomic object; + children are presentational. +
+
+ When used as part of a structured symbolic language,
+ the
+ The preceeding paragraph is dependent on + aria-roledescription being incorporated + into the ARIA 1.1 specification. +
+
+ To support user agents and assistive technologies
+ based on the ARIA 1.0 specification,
+ authors may wish to include the role="graphics-symbol img"
,
+ if that is not already the default semantic role for the element.
+
+<!-- Within an HTML document listing a restaurant menu --> +<h2>Appetizers</h2> +<ul> + <li> Spinach Salad with Strawberry & Almonds + <img role="graphics-symbol" title="Vegetarian" src="../assets/leaf.svg" /> + <img role="graphics-symbol" title="Contains Nuts" src="../assets/peanut.svg" /> + </li> + <li> Chicken Satay with Peanut Sauce + <img role="graphics-symbol" title="Contains Nuts" src="../assets/peanut.svg" /> + </li> + <!-- … --> +</ul> ++
+<!-- Within an SVG diagram of an electrical circuit --> +<g id="lightbulb-1" role="graphics-symbol img" + aria-roledescription="load" + aria-label="lightbulb" + aria-describedby="lightbulb-1-label" + aria-flowto="battery-1" + transform="translate(180,50)"> + <text id="lightbulb-1-label" + x="-15" dy="0.5ex" text-anchor="end" >10W</text> + <circle r="10" /> + <path d="M0,-10 C0,8 5,8 5,0 C5,-8 0,-8 0,10" /> +</g> + + + ++
+<!-- Within an architectural blueprint-style SVG diagram --> +<g role="graphics-symbol img"> + <title>Door</title> + <desc>on West side of South wall</desc> + <line stroke-width="8" stroke="white" + x1="50" y1="275" x2="150" y2="275"/> + <line stroke-width="4" stroke="#444" + x1="50" y1="275" x2="125" y2="225"/> +</g> +<!-- … --> +<use xlink:href="#outlet" role="graphics-symbol img" + x="5" y="130" width="40" height="40"> + <title>Electrical outlet</title> + <desc>at center of West wall</desc> +</use> + + + ++ +
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +symbol | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +True | +
Inherits Name Required: | ++ |
Children Presentational: | +True | +
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
Something defined or marked by an instant of time or time interval.
+ +Characteristic | +Value | +
---|---|
Is Abstract: | +False | +
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | ++ |
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +True | +
Inherits Name Required: | ++ |
Children Presentational: | ++ |
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
+ The definitive role definition for img is
The use of img
can contain
+ multiple drawing objects or image files
+ that when viewed together give the impression of a single image.
+ However, an img
represents an indivisible component
+ within a document for navigation purposes.
+ If the child elements are arranged
+ in a semantically rich structure
+ that users may wish to navigate through,
+ authors should use a
+ The element with the img
role
+ may also contain captions and descriptive text within child elements,
+ if those elements participate in
+ the accessible name or description calculation for that element.
+ To ensure that elements with a role of img
+ are perceivable,
+ authors MUST provide alternative text or a label
+ determined by the accessible name calculation.
+ Authors SHOULD also provide an accessible description
+ that conveys the complete meaning of the image.
+ If the image is purely symbolic,
+ and the visual details are not relevant,
+ the
+ The img
role was first defined in ARIA 1.0.
+ This specification modifies that definition
+ in a backwards-compatible way,
+ to clarify the distinction between images
+ and other graphical roles.
+
+<!-- Within an HTML 5 document, an inline SVG + may sometimes represent an atomic img --> +<p>A repeating SVG gradient is defined using the + <code>spreadMethod</code> attribute. + A value of <code>repeat</code> causes the color stops + to repeat in the same order, from beginning to end:</p> +<svg class="inline-example" role="img"> + <title>A repeating linear gradient</title> + <desc>The gradient starts dark, slowly shifting to light, + then quickly dark again. This pattern repeats four + times left to right, each time brightening across a large + region and then getting dark within a short space. + </desc> + <linearGradient id="repeat" x2="25%" spreadMethod="repeat"> + <stop offset="0" stop-color="black" /> + <stop offset="0.8" stop-color="white" /> + <stop offset="1" stop-color="black" /> + </linearGradient> + <rect width="100%" height="100%" fill="url(#repeat)" /> +</svg> + + ++
+<!-- Within the fallback DOM dynamically constructed + for an HTML 5 canvas game, + elements may represent the different images + that create the composite graphic --> +<canvas> + <p id="scene-desc" role="img" + aria-label="The Dungeon" + aria-describedby="scene-desc"> + The door opens into a long hallway. + Every few steps on either side are barred doors. + Moisture drips from the stone walls. + </p> + <p id="grue-1" role="img" + aria-label="Grue" + aria-describedby="grue-1"> + An amorphous and poorly defined, but unmistakably sinister, + creature blocks the passage. + </p> + <!-- more DOM elements representing game controls --> +</canvas> ++
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | +Placeholder | +
Base Concept: | ++ |
Related Concepts: | +
+
|
+
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | +Placeholder | +
Name From: | +author | +
Accessible Name Required: | +True | +
Inherits Name Required: | ++ |
Children Presentational: | +True | +
Inherits Presentational: | ++ |
WAI-ARIA provides a collection of accessibility state and properties which are used to support platform accessibility APIs on various + operating system platforms. Assistive technologies may access this information through an exposed user agent DOM or through a mapping + to the platform accessibility API. When combined with roles, the user agent can supply the assistive technologies with user interface + information to convey to the user at any time. Changes in states or properties will result in a notification to assistive technologies, + which could alert the user that a change has occurred.
+Assistive technology may use
Below is a list of properties that can be used with graphics roles. A detailed definition of each state and property + follows this compact list.
+Placeholder for index of states and properties
+A list of categories.
+Characteristic | +Value | +
---|---|
Related Concepts: | ++ |
Used in Roles: | +Placeholder | +
Inherits into Roles: | +Placeholder | +
Value: | +string | +
A differentiator for graphics features with the same role and semantic parent.
+Characteristic | +Value | +
---|---|
Related Concepts: | ++ |
Used in Roles: | +Placeholder | +
Inherits into Roles: | +Placeholder | +
Value: | +string | +
The HTML Working Group has incorporated the WAI-ARIA attributes into HTML 5. Official support for WAI-ARIA in HTML is provided in that specification.
+Validation support for the roles defined in this module will be added once the specification reaches recommendation.
+For information on incorporating WAI-ARIA into other grammars, refer to Appendix A of [[!WAI-ARIA]]
+Review whether any additional schemata are necessary for this module.
+A detailed history of changes committed is available from the github repository for this document. When drafts of this document begin to stabilise, human-readable change logs will be incorporated.
+ +The following table provides a quick reference to the supported states and properties for all WAI-ARIA roles that may be used in markup.
+In addition to the states and properties shown in the table, the following global states and properties are supported on all roles.
+Placeholder for global states and properties
+Placeholder for quick reference table
+The following people contributed to the development of this document.
+A repeating SVG gradient is defined using the
+ spreadMethod
attribute.
+ Figure 1 compares the two
+ possible variations.
+
+ A value of repeat
causes the color stops
+ to repeat in the same order, from beginning to end.
+ In contrast, a value of reflect
+ causes the order and spacing of colors
+ to alternate in each repeat.
Both of the gradients in Figure 1 + repeat the sequence of color stops four times, + as indicated by the arrows. + However, in the reflected gradient every second + cycle is reversed, as shown by the arrows pointing + in the opposite direction.
+ + \ No newline at end of file diff --git a/graphics-aria/img/house-graphicsroles.svg b/graphics-aria/img/house-graphicsroles.svg new file mode 100644 index 000000000..8b6c2d6a7 --- /dev/null +++ b/graphics-aria/img/house-graphicsroles.svg @@ -0,0 +1,151 @@ + \ No newline at end of file diff --git a/graphics-aria/img/img-role-for-svg.html b/graphics-aria/img/img-role-for-svg.html new file mode 100644 index 000000000..510e5caba --- /dev/null +++ b/graphics-aria/img/img-role-for-svg.html @@ -0,0 +1,59 @@ + + + + + +A repeating SVG gradient is defined using the
+ spreadMethod
attribute.
+ A value of repeat
causes the color stops
+ to repeat in the same order, from beginning to end:
In contrast, a value of reflect
+ causes the order and spacing of colors
+ to alternate in each repeat:
Both of these gradients repeat + the sequence of color stops four times, + from left to right.
+ + \ No newline at end of file diff --git a/graphics-aria/img/monthsCircle.svg b/graphics-aria/img/monthsCircle.svg new file mode 100644 index 000000000..65ebf2aab --- /dev/null +++ b/graphics-aria/img/monthsCircle.svg @@ -0,0 +1,40 @@ + \ No newline at end of file diff --git a/graphics-aria/img/nested-figures.html b/graphics-aria/img/nested-figures.html new file mode 100644 index 000000000..756a68f4b --- /dev/null +++ b/graphics-aria/img/nested-figures.html @@ -0,0 +1,108 @@ + + + + + +A repeating SVG gradient is defined using the
+ spreadMethod
attribute.
+ A value of repeat
causes the color stops
+ to repeat in the same order, from beginning to end,
+ as shown in Figure 1-a.
In contrast, a value of reflect
+ causes the order and spacing of colors
+ to alternate in each repeat,
+ as in Figure 1-b.
Both of the gradients in Figure 1 + repeat the sequence of color stops four times, + with the initial cycle from left to right.
+ + \ No newline at end of file diff --git a/graphics-aria/index.html b/graphics-aria/index.html new file mode 100644 index 000000000..141893a5b --- /dev/null +++ b/graphics-aria/index.html @@ -0,0 +1,1210 @@ + + + + + ++ Assistive technologies need semantic information about the structures and expected behaviors of a document in order to convey appropriate information to persons with disabilities. This + specification defines a WAI-ARIA 1.1 [[WAI-ARIA-1.1]] module of core roles + specific to web graphics. These semantics allow an author to express the logical structure of the graphic to assistive technologies in order improve accessibility of graphics. Assistive + technologies could then enable semantic navigation and adapt styling and interactive features, to provide an optimal experience for the audience. These features complement the graphics and + document structure elements defined by HTML [[HTML52]] and SVG [[SVG2]]. +
++ This document is part of the WAI-ARIA suite described in the + WAI-ARIA Overview. +
++ This is an Editor's Draft of WAI-ARIA Graphics Module 1.0 by the + SVG Accessibility Taskforce, a joint task force of the + Accessible Rich Internet Applications Working Group and the SVG Working Group. +
++ Feedback on any aspect of the specification is accepted. For this publication, the SVG Accessibility Task Force particularly seeks feedback on the + following questions: +
++ To comment, file an issue in the W3C graphics-aria GitHub repository. If this is not feasible, send email to + public-aria@w3.org (comment archive). + In-progress updates to the document may be viewed in the publicly visible editors' draft. +
++ WAI-ARIA is a technical specification that provides a framework to improve the accessibility and interoperability of web content and + applications. It enables web browsers to map the accessibility semantics in web content to platform-specific accessibility APIs. This enables web content to be interoperable with platform + assistive technologies, similar to native platform applications, without requiring authors to include platform dependencies. +
++ This specification is a modular extension of WAI-ARIA [[WAI-ARIA-1.1]] designed to support graphics. The goals of this specification + include: +
++ This specification defines the core roles that would be used in all structured graphics or diagrams. It establishes the default roles that can be used to describe graphical markup elements + such as shapes and canvases. In combination with WAI-ARIA attributes to provide alternative text and to indicate relationships between elements, this provides a framework for annotating many + figures and diagrams. Future work will expand on this framework to enable more detailed annotation of data-rich graphics such as charts or maps. +
++ For a more detailed explanation of WAI-ARIA please refer to the + WAI-ARIA Introduction and how it applies to Rich Internet Application Accessibility. +
+ ++ This specification defines a module of WAI-ARIA for graphics, consisting of graphics-specific element roles. It impacts several audiences: +
+Each conformance requirement indicates the audience to which it applies.
+ ++ This module follows the general User Agent support principles defined in WAI-ARIA [[WAI-ARIA-1.1]]. The roles defined here do not + require any change in behavior by user agents other than in the information exposed to the accessibility API. However, the semantics defined here provide the ability for user agents + to enhance the general user interface presented to readers. For example, a user agent may provide alternative keyboard navigation suitable to a graphical environment, or may allow users to + extract a copy of a graphic from a larger document. +
++ The WAI-ARIA Graphics module follows the model for + co-evolution of WAI-ARIA and host languages defined in WAI-ARIA + [[WAI-ARIA-1.1]]. It is intended to augment semantics in supporting languages like HTML [[HTML52]], SVG [[SVG2]] and EPUB, or to be used as an accessibility enhancement technology in other + markup-based languages that do not explicitly include support for ARIA. WAI-ARIA roles clarify semantics to assistive technologies when authors create new types of objects, via style + and script, or use markup languages which describe the visual appearance of a document rather than its meaning. +
++ Although markup languages may provide some of these semantics natively, it is expected that there will be a persistent need for the semantics provided by the + WAI-ARIA Graphics module. Some host languages exist to create semantics for features other than the user interface. For example, + SVG expresses the semantics behind production of graphical objects, not of user interface components that those objects may represent. Host languages such as these might, by design, not + provide native semantics that map to all of this specification's features. In these host languages, the WAI-ARIA Graphics module + could be adopted as a long-term approach to add semantic information. +
++ Programmatic access to accessibility semantics is essential for assistive technologies. For more information, refer to the + Assistive Technologies section in WAI-ARIA [[WAI-ARIA-1.1]]. +
+For the graphics roles in particular, two categories of assistive technology are particularly relevant, but have different needs:
+The role descriptions suggest which features of an element with that role are considered semantically important and should be conveyed to the reader whenever possible.
++ The main content of this specification is normative and defines requirements that impact conformance claims. Introductory material, appendices, sections marked as + "non-normative" and their subsections, diagrams, examples, and notes are informative (non-normative). Non-normative material provides advisory information to help + interpret the guidelines but does not create requirements that impact a conformance claim. +
+
+ Normative sections provide requirements that user agents must follow for an implementation to conform to this specification. The keywords MUST,
+ MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD,
+ RECOMMENDED, MAY, and OPTIONAL in this document are to be interpreted as described in
+ Keywords for use in RFCs to indicate requirement levels [[!RFC2119]]. RFC-2119 keywords are formatted in uppercase and
+ contained in an element with class="rfc2119"
. When the keywords shown above are used, but do not share this format, they do not convey formal information in the RFC 2119 sense,
+ and are merely explanatory, i.e., informative. As much as possible, such usages are avoided in this specification.
+
Normative sections provide requirements that authors, 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. +
++ This section defines additions to the + WAI-ARIA + role taxonomy and describes the characteristics and properties of all roles. See + ARIA Roles for descriptions of the fields provided by this module. +
++ Authors are given the ability to influence what is presented to assistive technologies and to influence navigation through the use of roles and properties. This includes the ability to mark + elements as having no semantic importance. With graphics, there are many cases where presenting and navigating every element will make the graphic harder to understand and use. +
+
+ Authors may mark elements for exclusion from the semantic representation of the document (the accessibility tree) by assigning the role
+ In all cases, to be considered presentational, an element must not be interactive and must not be assigned any accessible properties or alternative text. A role of none
or
+ presentation
will be ignored for interactive elements or those with WAI-ARIA states and properties.
+
+ Below is an alphabetical list of the + WAI-ARIA + roles defined in this specification. They would normally be used in combination with other roles defined in WAI-ARIA to annotate graphics within + documents and rich internet applications [[WAI-ARIA-1.1]]. +
+ +Placeholder for compact list of roles
+ +A type of
+ Similar to other graphics-document
role applies to the root element of a region of the page containing related information, where the user's
+ primary interaction mode is expected to be browsing the document rather than controlling an application. The element with this role may be the root element of the document file, or of a
+ nested structure within it.
+
The graphics-document
may be distinguished from similar roles as follows:
+ Relative to other documents, a graphics-document
is distinguished by the semantic importance of its visual (usually two-dimensional) representation. User agents and
+ assistive technologies SHOULD take this into consideration when supporting navigation of the graphic. Accessibility technologies that re-format or re-style a document SHOULD NOT
+ alter the layout of a graphics-document
+ except in ways that are consistent with the semantic roles and relationships of its content.
+
+ Relative to an graphics-document
+ is distinguished by the structured nature of its content. Its child elements may have semantic meaning, and may include links or other interactive widgets.
+
+ Relative to a graphics-document
is self-contained. Its meaning persists when separated from surrounding content. The element with the
+ graphics-document
role defines the scope and context for interpretation of the child content.
+
+ In general, authors SHOULD use the graphics-document
role for structured graphics such as charts, maps, diagrams, technical drawing, blue prints and instructional graphics.
+ However, if a single large graphic has discrete regions that may be safely re-arranged without sacrificing meaning, each of those regions SHOULD be a distinct
+ graphics-document
. An alternative role (such as graphics-document
may also be nested inside
+ another, for example a bar chart that is embedded in a map or a matrix of chart panels should have a role of graphics-document
. The nested document provides encapsulation;
+ navigation between components of the inner and outer graphics should be explicit.
+
+ To support user agents and assistive technologies based on the ARIA 1.0 specification, authors may wish to include the role="graphics-document document"
.
+
+ Future specifications may define more specific roles for particular types of graphical documents with special semantic structures. Those more specific roles would be subclasses of
+ graphics-document
.
+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +
+
|
+
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +True | +
Inherits Name Required: | ++ |
Children Presentational: | +False | +
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
+ A section of a
+ Container elements that represent a collection of disconnected objects should be given the
+ div
or SVG g
that is only used for styling or layout) SHOULD NOT be given a role. The lack of role may be explicitly indicated with the role
+
+ Unlike a graphics-object
need not be self-contained, and it does not establish a new context for navigation. However, user agents and
+ assistive technologies SHOULD provide a way for users, particularly non-visual users, to navigate the nested structure of objects in a hierarchical manner, similar to nested lists.
+
+ To support user agents and assistive technologies based on the ARIA 1.0 specification, authors may wish to include the role="graphics-object group"
.
+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +
+
|
+
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +
+
|
+
Accessible Name Required: | +False | +
Inherits Name Required: | ++ |
Children Presentational: | +False | +
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
+ A graphical object used to convey a simple meaning or category, where the meaning is more important than the particular visual appearance. It may be a component of a larger structured + graphic such as a chart or map. The symbol itself is an atomic object; children are presentational. +
+
+ When used as part of a structured symbolic language, the
+ To support user agents and assistive technologies based on the ARIA 1.0 specification, authors may wish to include the role="graphics-symbol img"
, if that is not already the default semantic role for the element.
+
Characteristic | +Value | +
---|---|
Is Abstract: | ++ |
Superclass Role: | +|
Subclass Roles: | ++ |
Base Concept: | ++ |
Related Concepts: | +symbol | +
Required Context Role: | ++ |
Required Owned Elements: | ++ |
Required States and Properties: | ++ |
Supported States and Properties: | ++ |
Inherited States and Properties: | ++ |
Name From: | +author | +
Accessible Name Required: | +True | +
Inherits Name Required: | ++ |
Children Presentational: | +True | +
Inherits Presentational: | ++ |
Implicit Value for Role: | ++ |
The following core ARIA roles, defined in ARIA 1.1 [[WAI-ARIA-1.1]], are also relevant for annotating graphics:
+
+ The following examples demonstrate appropriate use of
+
+ WAI-ARIA provides a collection of accessibility state and properties which are used to support platform accessibility APIs on various operating system platforms. Assistive technologies may + access this information through an exposed user agent DOM or through a mapping to the platform accessibility API. When combined with roles, the user agent can supply the assistive technologies + with user interface information to convey to the user at any time. Changes in states or properties will result in a notification to assistive technologies, which could alert the user that a + change has occurred. +
+The full commit history to WAI-ARIA Graphics Module 1.0 is available.
+The following people contributed to the development of this document.
++ HTML Accessibility API Mappings (HTML-AAM) defines how user agents map HTML [[HTML]] elements and attributes 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 HTML host 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. +
++ The HTML-AAM is part of the WAI-ARIA suite described in the + WAI-ARIA Overview. +
++ This document is subject to change without notice. +
++ This document was initially developed by and with the approval of the HTML Accessibility Taskforce, a joint task force of the + Protocols and Formats Working Group and the HTML Working Group. Work continued with the successor groups + Accessible Rich Internet Applications Working Group and the Web Applications Working Group. This + document is now maintained solely by the Accessible Rich Internet Applications Working Group. +
++ This specification defines how HTML user agents respond to and expose [=role=], [=state=] and [=ARIA/property=] information provided for Web content. Unless indicated otherwise, an HTML + element or attribute with default [[[wai-aria-1.2]]] semantics must be exposed to the platform accessibility APIs according to the relevant WAI-ARIA mappings defined in + the [[[core-aam-1.2]]] specification. +
++ In some cases, often due to features of the HTML host language or the accessibility API in question, an element or attribute's mapping differs from the corresponding ARIA mappings specified in + the [[core-aam-1.2]]. Where an HTML element or attribute does not have any default WAI-ARIA semantics, the applicable mapping for each platform accessibility API is + defined by this specification. +
++ This document also adapts the [[[accname-1.2]]] specification for deriving the accessible names and + accessible descriptions of [[HTML]] elements, and provides accessible implementation examples for specific HTML elements and + features. +
++ Users often access HTML content using assistive technologies that rely on platform accessibility API to obtain and + interact with information from the page. This document is part of the following suite of accessibility API mapping specifications for content rendered by user agents: +
+Accessibility APIs covered by this document are:
++ 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]]].
+The classification of a section as normative or non-normative applies to the entire section and all sub-sections of that section.
+Normative sections provide requirements that authors, user agents, and assistive technologies MUST follow for an implementation to conform to this specification.
++ Non-normative 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. +
+There are currently no deprecated requirements.
+WAI-ARIA support was first introduced to HTML in [[HTML5]].
++ Where an HTML element or attribute has default WAI-ARIA semantics, it MUST be exposed to the platform accessibility APIs in a way that conforms to + General rules for exposing WAI-ARIA semantics in the [[[core-aam-1.2]]]. +
++ Where the host language is [[HTML]], user agents MUST conform to + Conflicts between native markup semantics and WAI-ARIA in the [[[core-aam-1.2]]]. +
++ HTML can include features that are not supported by accessibility APIs at the time of publication. There is not a one to one relationship between all features and + platform accessibility APIs. When HTML roles, states and properties do not directly map to an accessibility API, and there is a method in the + API to expose a text string, user agents MUST expose the undefined role, states and properties via that method. +
++ For HTML elements or attributes with default WAI-ARIA semantics, user agents MUST conform to + Exposing attributes that do not directly map to accessibility API properties in + the [[core-aam-1.2]]. +
+ <video> <!-- computedrole returns 'html-video' --> <main role="html-video"> <!-- Author error. computed role returns 'main' -->
+ HTML Specification | ++ `a` + (represents a hyperlink) + | +
---|---|
[[wai-aria-1.2]] | +`link` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `a` + (no `href` attribute) + | +
---|---|
[[wai-aria-1.2]] | +`generic` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `abbr` + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +html-abbr |
+
+ MSAA + IAccessible2 + | +
+ Roles: `ROLE_SYSTEM_TEXT`; `IA2_ROLE_TEXT_FRAME`
+
+ Object attributes:
+ "abbr" attribute on the containing `td` if a single child, text content used as a value
+
+ |
+
UIA | +
+ Control Type: `Text`
+ |
+
ATK | +
+ Role: `ATK_ROLE_STATIC`
+
+ Object attributes:
+ "abbr" attribute on the containing `td` if a single child, text content used as a value
+
+ |
+
AX | +
+ AXRole: `AXGroup`
+ AXSubrole: `(nil)`
+ AXRoleDescription: `"group"`
+ |
+
Comments | ++ |
HTML Specification | ++ `address` + | +
---|---|
[[wai-aria-1.2]] | +`group` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `area` + (represents a hyperlink) + | +
---|---|
[[wai-aria-1.2]] | +`link` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `area` + (no `href` attribute) + | +
---|---|
[[wai-aria-1.2]] | +`generic` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `article` + | +
---|---|
[[wai-aria-1.2]] | +`article` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | +`aside` (scoped to the `body` or `main` element) | +
---|---|
[[wai-aria-1.2]] | +`complementary` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `aside` + (scoped to a sectioning content element) + | +
---|---|
[[wai-aria-1.2]] | ++ `complementary` role if the `aside` element has an + accessible name. Otherwise, `generic` role. + | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `audio` + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +html-audio |
+
+ MSAA + IAccessible2 + | +
+ Role: `ROLE_SYSTEM_GROUPING`
+ |
+
UIA | +
+ Control Type: `Group`
+ Localized Control Type: `"audio"`
+
+ Note: If the `controls` attribute is present, UI controls (e.g., play, volume) are exposed as children of the
+ `audio` element in the accessibility tree, and mapped as appropriate for the type of control (e.g.,
+ `button` or `slider`).
+
+
+ Text objects associated with loading or error messages, and any UI control not currently displayed, MAY be present in the accessibility tree and marked as
+ hidden or off-screen.
+
+ |
+
ATK | +
+ Role: `ATK_ROLE_AUDIO`
+ |
+
AX | +
+ AXRole: `AXGroup`
+ AXSubrole: `AXAudio`
+ AXRoleDescription: `"audio playback"`
+
+ Note: If the `controls` attribute is present, UI controls (e.g., play, volume) are exposed as descendants of an
+ accessible object with a role of `toolbar`, and mapped as appropriate for the type of control (e.g.,
+ `button` or `slider`).
+
+ |
+
Comments | ++ |
HTML Specification | ++ autonomous custom element + | +
---|---|
[[wai-aria-1.2]] | +If the author assigned a conforming ARIA role using the `role` attribute, map to that role. Otherwise, the `generic` role. | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `b` + | +
---|---|
[[wai-aria-1.2]] | +`generic` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | +Exposed by platform specific bold font weight text styles. | +
HTML Specification | ++ `base` + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +Not mapped |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | ++ `bdi` + | +
---|---|
[[wai-aria-1.2]] | +`generic` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | +IA2/ATK: May affect on "writing-mode" text attribute on its text container. | +
HTML Specification | ++ `bdo` + | +
---|---|
[[wai-aria-1.2]] | +`generic` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | +IA2/ATK: Exposed as "writing-mode" text attribute on its text container. | +
HTML Specification | ++ `blockquote` + | +
---|---|
[[wai-aria-1.2]] | +`blockquote` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `body` + | +
---|---|
[[wai-aria-1.2]] | +`generic` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `br` + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +Not mapped |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | +May be exposed as '\n' character by the platform interface. | +
HTML Specification | ++ `button` + | +
---|---|
[[wai-aria-1.2]] | +`button` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ A `button`'s mapping will change if the + `aria-pressed` or `aria-haspopup` attributes are specified. + | +
HTML Specification | ++ `canvas` + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +html-canvas |
+
+ MSAA + IAccessible2 + | +
+ Roles: `ROLE_SYSTEM_GRAPHIC`; `IA2_ROLE_CANVAS`
+ |
+
UIA | +
+ Control Type: `Image`
+ Descendants of the `canvas` element are mapped separately.
+ |
+
ATK | +
+ Role: `ATK_ROLE_CANVAS`
+ |
+
AX | +
+ AXRole: `AXGroup`
+ AXSubrole: `(nil)`
+ AXRoleDescription: `""`
+ |
+
Comments | ++ |
HTML Specification | ++ `caption` + | +
---|---|
[[wai-aria-1.2]] | +`caption` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+
+ Relations:
+ `IA2_RELATION_LABEL_FOR` with parent `table`
+
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+
+ Other properties: The `LabeledBy` property for the parent `table` element points to the UIA element for the `caption` element.
+
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+
+ Relations:
+ `ATK_RELATION_LABEL_FOR` with parent `table`
+
+ |
+
AX | +
+ Use WAI-ARIA mapping
+
+ Relations:
+ `ATK_RELATION_LABEL_FOR` with parent `table`
+
+ |
+
Comments | +If a descendant of a `table`, the first instance of a `caption` element will provide the `table` its accessible name. | +
HTML Specification | ++ `cite` + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +html-cite |
+
+ MSAA + IAccessible2 + | +
+ No accessible object. Styles used are mapped into text attributes on its text container.
+ |
+
UIA | +
+ No accessible object. Styles used are exposed by UIA text attributes of the `TextRange` Control Pattern implemented on a parent accessible object.
+ |
+
ATK | +
+ No accessible object. Styles used are mapped into text attributes on its text container.
+ |
+
AX | +
+ AXRole: `AXGroup`
+ AXSubrole: `(nil)`
+ AXRoleDescription: `"group"`
+ |
+
Comments | ++ |
HTML Specification | ++ `code` + | +
---|---|
[[wai-aria-1.2]] | +`code` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `col` + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +Not mapped |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | ++ `colgroup` + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +Not mapped |
+
+ MSAA + IAccessible2 + | +
+ Role: `ROLE_SYSTEM_GROUPING`
+ |
+
UIA | +
+
+
+ Control Type: `Group`
+ Localized Control Type: `"colgroup"`
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | ++ `data` + | +
---|---|
[[wai-aria-1.2]] | +`generic` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `datalist` + (represents pre-defined options for `input` element) + | +
---|---|
[[wai-aria-1.2]] | ++ `listbox` role, with the `aria-multiselectable` property set to "true" + if the `datalist`'s selection model allows multiple `option` elements to be selected at a time, and "false" otherwise + | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | +If `datalist` is not linked to a proper `input` element, then `datalist` element is not mapped to accessibility APIs. | +
HTML Specification | ++ `dd` + | +
---|---|
[[wai-aria-1.2]] | +`definition` role | +
Computed Role | +
+ Use WAI-ARIA mapping
+ Editorial Note: This value may change upon resolution of ARIA #1662.
+ |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `del` + | +
---|---|
[[wai-aria-1.2]] | +`deletion` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `details` + | +
---|---|
[[wai-aria-1.2]] | +`group` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+
+ Localized Control Type: `"details"`
+
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+
+ Relations: `"ATK_RELATION_DETAILS_FOR"`
+
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `dfn` + | +
---|---|
[[wai-aria-1.2]] | +`term` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `dialog` + | +
---|---|
[[wai-aria-1.2]] | +`dialog` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | +See also the `dialog` element's `open` attribute. | +
HTML Specification | ++ `div` + | +
---|---|
[[wai-aria-1.2]] | +`generic` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `dl` + | +
---|---|
[[wai-aria-1.2]] | +`list` role | +
Computed Role | +
+ list
+ Editorial Note: This value may change upon resolution of ARIA #1662.
+ |
+
+ MSAA + IAccessible2 + | +
+ Role: `ROLE_SYSTEM_LIST`
+ States: `STATE_SYSTEM_READONLY`
+ |
+
UIA | +
+ Control Type: `List`
+ |
+
ATK | +
+ Role: `ATK_ROLE_DESCRIPTION_LIST`
+ |
+
AX | +
+ AXRole: `AXList`
+ AXSubrole: `AXDefinitionList`
+ AXRoleDescription: `"definition list"`
+ |
+
Comments | ++ |
HTML Specification | ++ `dt` + | +
---|---|
[[wai-aria-1.2]] | +`term` role | +
Computed Role | +
+ Use WAI-ARIA mapping
+ Editorial Note: This value may change upon resolution of ARIA #1662.
+ |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `em` + | +
---|---|
[[wai-aria-1.2]] | +`emphasis` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `embed` + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +html-embed |
+
+ MSAA + IAccessible2 + | +
+ Roles: `ROLE_SYSTEM_CLIENT`; `IA2_ROLE_EMBEDDED_OBJECT`
+ States: `STATE_SYSTEM_UNAVAILABLE` for windowless plugin
+ |
+
UIA | +
+ Control Type: `Pane`
+ |
+
ATK | +
+ Role: `ATK_ROLE_EMBEDDED`
+ |
+
AX | +Depends on format of data file | +
Comments | ++ |
HTML Specification | ++ `fieldset` + | +
---|---|
[[wai-aria-1.2]] | +`group` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Role: Use WAI-ARIA mapping
+ Relations: `IA2_RELATION_LABELLED_BY` with child `legend` element
+ |
+
UIA | +
+
+ Role: Use WAI-ARIA mapping
+
+ |
+
ATK | +
+ Role: Use WAI-ARIA mapping
+ Relations: `ATK_RELATION_LABELLED_BY` with child `legend` element
+ |
+
AX | +
+ Role: Use WAI-ARIA mapping
+ AXSubrole: `AXFieldset`
+
+
+ AXDescription: value from child `legend` subtree
+ |
+
Comments | ++ |
HTML Specification | ++ `figcaption` + | +
---|---|
[[wai-aria-1.2]] | +`caption` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Roles: `ROLE_SYSTEM_TEXT`; `IA2_ROLE_CAPTION`
+ Relations: `IA2_RELATION_LABEL_FOR` with parent `figure` element
+ |
+
UIA | +
+ Control Type: `Text`
+ |
+
ATK | +
+ Role: `ATK_ROLE_CAPTION`
+
+ Relations:
+ `ATK_RELATION_LABEL_FOR` with parent `figure` element
+
+ |
+
AX | +
+ AXRole: `AXGroup`
+ AXSubrole: `(nil)`
+ AXRoleDescription: `"group"`
+ |
+
Comments | ++ |
HTML Specification | ++ `figure` + | +
---|---|
[[wai-aria-1.2]] | +`figure` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Role: Use WAI-ARIA mapping
+ Relations: `IA2_RELATION_LABELLED_BY` with child `figcaption` element
+ |
+
UIA | +
+ Role: Use WAI-ARIA mapping
+
+ Accessible name derived from `figcaption` according to the `figure` Element Accessible Name Computation
+
+ |
+
ATK | +
+ Role: Use WAI-ARIA mapping
+ Name: related `figcaption` content
+ Relations: `ATK_RELATION_LABELLED_BY` with child `figcaption` element
+ |
+
AX | +
+ AXRole: Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | +`footer` (scoped to the `body` element) | +
---|---|
[[wai-aria-1.2]] | +`contentinfo` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | +`footer` (scoped to the `main` element, a sectioning content element) | +
---|---|
[[wai-aria-1.2]] | +`generic` role | +
Computed Role | +
+ Use WAI-ARIA mapping
+ Editorial Note: This value may change upon resolution of ARIA #1915.
+ |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Control Type: `Group`
+ Localized Control Type: `"footer"`
+ |
+
ATK | +
+ Role: `ATK_ROLE_FOOTER`
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | +If a `footer` is not scoped to the `body` element, do not expose the element as a `contentinfo` landmark. | +
HTML Specification | ++ `form` + | +
---|---|
[[wai-aria-1.2]] | +`form` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ If a `form` has no accessible name:
+ Role: `ATK_ROLE_FORM`
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | +If a `form` has no accessible name, do not expose the element as a landmark. | +
HTML Specification | ++ form-associated custom element + | +
---|---|
[[wai-aria-1.2]] | +If the author assigned a conforming ARIA role using the `role` attribute, map to that role. Otherwise, the `generic` role. | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `h1`, `h2`, `h3`, `h4`, `h5`, and `h6` + | +
---|---|
[[wai-aria-1.2]] | ++ `heading` role, with the `aria-level` property set to the number in the element's tag + name. + | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `head` + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +Not Mapped |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`header` (scoped to the `body` element) | +
---|---|
[[wai-aria-1.2]] | +`banner` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | +`header` (scoped to the `main` element, or a sectioning content element) | +
---|---|
[[wai-aria-1.2]] | +`generic` role | +
Computed Role | +
+ Use WAI-ARIA mapping
+ Editorial Note: This value may change upon resolution of ARIA #1915.
+ |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Control Type: `Group`
+ Localized Control Type: `"header"`
+ |
+
ATK | +
+ Role: `ATK_ROLE_HEADER`
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | +If a `header` is not scoped to the `body` element, do not expose the element as a `banner` landmark. | +
HTML Specification | ++ `hgroup` + | +
---|---|
[[wai-aria-1.2]] | +`group` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ If an `hgroup` contains multiple heading elements, then the heading element with the highest priority level MAY be treated as the sole heading of the `hgroup`. All other heading + elements MAY instead be exposed as if they were `p` elements. See `paragraph` role on Core AAM. + | +
HTML Specification | ++ `hr` + | +
---|---|
[[wai-aria-1.2]] | +`separator` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | +
+ If an `hr` element is a descendant of a `select` element, user agents MAY expose the element with a role of `none`. + |
+
HTML Specification | ++ `html` + | +
---|---|
[[wai-aria-1.2]] | +`document` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `i` + | +
---|---|
[[wai-aria-1.2]] | +`generic` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | +Exposed by platform specific italic text styles. | +
HTML Specification | ++ `iframe` + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +html-iframe |
+
+ MSAA + IAccessible2 + | +
+ Role: `IA2_ROLE_INTERNAL_FRAME`
+ |
+
UIA | +
+ Control Type: `Pane`
+ |
+
ATK | +
+ Role: `ATK_ROLE_INTERNAL_FRAME`
+ |
+
AX | +
+ AXRole: `AXWebArea`
+ AXSubrole: `(nil)`
+ AXRoleDescription: `"html content"`
+ |
+
Comments | ++ |
HTML Specification | ++ `img` + | +
---|---|
[[wai-aria-1.2]] | ++ `image` + or `img` role + | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | +
+ ARIA 1.3 adds the `image` role as the preferred synonym to the ARIA 1.0 `img` role. The expected computed role for named `img` elements is now "image". + |
+
HTML Specification | ++ `img` + (`alt` attribute value is the empty string, i.e., `alt=""` or `alt` with no value in the markup) + | +
---|---|
[[wai-aria-1.2]] | +
+
+ `none` or
+ `presentation`
+
+ |
+
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `input` + (`type` attribute in the Button state) + | +
---|---|
[[wai-aria-1.2]] | +`button` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `input` + (`type` attribute in the Checkbox state) + | +
---|---|
[[wai-aria-1.2]] | ++ `checkbox` role, with the `aria-checked` state set to "mixed" if the + element's `indeterminate` IDL attribute is true, or "true" if the element's + checkedness is true, or "false" otherwise + | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `input` + (`type` attribute in the Color state) + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +html-input-color |
+
+ MSAA + IAccessible2 + | +
+ If implemented as a textbox:
+ Roles: `ROLE_SYSTEM_TEXT`
+ If implemented as a color picker:
+ Roles: `IA2_ROLE_COLOR_CHOOSER`
+ |
+
UIA | +
+ If implemented as a textbox:
+ Control Type: `Edit`
+ Localized Control Type: "edit"
+ If implemented as a color picker:
+ Control Type: `button`
+ Localized Control Type: "color picker"
+ |
+
ATK | +
+ If implemented as a button, use WAI-ARIA mapping for `button`.
+ If implemented as a textbox, use WAI-ARIA mapping for `textbox`.
+ |
+
AX | +
+ If implemented as a textbox:
+ AXRole: `AXTextField`
+ AXSubrole: `(nil)`
+ AXRoleDescription: `"text field"`
+ If implemented as a color picker:
+ AXRole: `AXColorWell`
+ AXSubrole: `(nil)`
+ AXRoleDescription: `"color well"`
+ |
+
Comments | +
+
+ If implemented as a color picker, any UI controls presented for selecting a color are exposed in the accessibility tree, associated with the `input` element,
+ and mapped as appropriate for the type of control (e.g. button or slider).
+
+ |
+
HTML Specification | ++ `input` + (`type` attribute in the Date state) + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +html-input-date |
+
+ MSAA + IAccessible2 + | +
+ If implemented as a textbox:
+ Role: `ROLE_SYSTEM_TEXT`
+ Object attributes: `text-input-type:date`
+ If implemented as a date picker:
+ Role: `IA2_ROLE_DATE_EDITOR`
+ |
+
UIA | +
+ Depends on UI design of implementation. The UI in Windows 10 Edge, for example, is a composite of multiple spinners.
+ |
+
ATK | +
+ Role: `ATK_ROLE_CALENDAR`
+ |
+
AX | +
+ AXRole: `AXDateField`
+ AXSubrole: `(nil)`
+ AXRoleDescription: `"date field"`
+ |
+
Comments | ++ |
HTML Specification | ++ `input` + (`type` attribute in the + Local Date and Time state) + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +html-input-datetime-local |
+
+ MSAA + IAccessible2 + | +
+ Role: `IA2_ROLE_DATE_EDITOR`
+ |
+
UIA | +
+ Depends on UI design of implementation. The UI in Windows 10 Edge, for Example, is a composite of multiple spinners.
+ |
+
ATK | +
+ Role: `ATK_ROLE_CALENDAR`
+ |
+
AX | +
+ AXRole: `AXTextField`
+ AXSubrole: `(nil)`
+ AXRoleDescription: `"text field"`
+ |
+
Comments | ++ |
HTML Specification | ++ `input` + (`type` attribute in the E-mail state with no + suggestions source element) + | +
---|---|
[[wai-aria-1.2]] | +`textbox` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ Object attributes: `text-input-type:email`
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ Localized Control Type: `"email"`
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `input` + (`type` attribute in the File Upload state) + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +html-input-file |
+
+ MSAA + IAccessible2 + | +
+ Implementation dependent. If represented by a container with a button a text label inside then:
+ Roles: `IA2_ROLE_TEXT_FRAME`
+ Children: `ROLE_SYSTEM_PUSHBUTTON` and `IA2_ROLE_LABEL` for a button and a text label elements.
+ |
+
UIA | +
+ Can be rendered as a single button control, or as a button control with a text input field.
+ Button control:
+ Control Type: `Button`
+ Text input field:
+ Control Type: `Edit`
+ Localized Control Type: `"file"`
+ |
+
ATK | +
+ Role: `ATK_ROLE_STATIC`
+
+ Children:
+ `ATK_ROLE_PUSH_BUTTON` when pressed `ATK_ROLE_FILE_CHOOSER` dialog shown
+
+ |
+
AX | +
+ AXRole: `AXButton`
+ AXSubrole: `AXFileUploadButton`
+ AXRoleDescription: `file upload button`
+ |
+
Comments | ++ |
HTML Specification | ++ `input` + (`type` attribute in the Hidden state) + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +Not mapped |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | ++ `input` + (`type` attribute in the Image Button state) + | +
---|---|
[[wai-aria-1.2]] | +`button` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `input` + (`type` attribute in the Month state) + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +html-input-month |
+
+ MSAA + IAccessible2 + | +
+ Role: `IA2_ROLE_DATE_EDITOR`
+ |
+
UIA | +
+ Depends on UI design of implementation. The UI in Windows 10 Edge, for Example, is a composite of multiple spinners.
+ |
+
ATK | +
+ Role: `ATK_ROLE_DATE_EDITOR`
+ |
+
AX | +
+ AXRole: `AXTextField`
+ AXSubrole: `(nil)`
+ AXRoleDescription: `"text field"`
+ |
+
Comments | ++ |
HTML Specification | ++ `input` + (`type` attribute in the Number state) + | +
---|---|
[[wai-aria-1.2]] | +`spinbutton` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+
+ If implemented as a spin button, use WAI-ARIA mapping for
+ `spinbutton`.
+
+
+ If implemented as a text input, use WAI-ARIA mapping for
+ `textbox`.
+
+ Object attributes: `text-input-type:number`
+ |
+
UIA | +
+ If implemented as a spin button, use WAI-ARIA mapping for `spinbutton`.
+ If implemented as a text input:
+ Control Type: `Edit`
+ Localized Control Type: `"number"`
+ |
+
ATK | +
+ If implemented as a spin button, use WAI-ARIA mapping for `spinbutton`.
+ If implemented as a text input, use WAI-ARIA mapping for `textbox`.
+ Object attributes: `text-input-type:number`
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `input` + (`type` attribute in the Password state) + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +html-input-password |
+
+ MSAA + IAccessible2 + | +
+ Role: `ROLE_SYSTEM_TEXT`
+ States: `STATE_SYSTEM_PROTECTED`; `IA2_STATE_SINGLE_LINE`; `STATE_SYSTEM_READONLY` if readonly, otherwise `IA2_STATE_EDITABLE`
+ |
+
UIA | +
+ Control Type: `Edit`
+ Localized Control Type: `"password"`
+ Other properties: Set `isPassword` to `true`
+ |
+
ATK | +
+ Role: `ATK_ROLE_PASSWORD_TEXT`
+ States: `ATK_STATE_SINGLE_LINE`; `ATK_STATE_READ_ONLY` if readonly, otherwise `ATK_STATE_EDITABLE`
+ |
+
AX | +
+ AXRole: `AXTextField`
+ AXSubrole: `AXSecureTextField`
+ AXRoleDescription: `"secure text field"`
+ |
+
Comments | ++ |
HTML Specification | ++ `input` + (`type` attribute in the Radio Button state) + | +
---|---|
[[wai-aria-1.2]] | ++ `radio` role, with the `aria-checked` state set to "true" if the element's + checkedness is true, or "false" otherwise. With + `aria-setsize` value reflecting number of `type=radio input` elements within the + radio button group + and `aria-posinset` value reflecting the elements position within the + radio button group. + | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `input` + (`type` attribute in the Range state) + | +
---|---|
[[wai-aria-1.2]] | +`slider` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `input` + (`type` attribute in the Reset Button state) + | +
---|---|
[[wai-aria-1.2]] | +`button` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `input` + (`type` attribute in the Search state + with no suggestions source element) + | +
---|---|
[[wai-aria-1.2]] | +`searchbox` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `input` + + (`type` attribute in the Submit Button state) + + | +
---|---|
[[wai-aria-1.2]] | +`button` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `input` + + (`type` attribute in the Telephone state with no + suggestions source element) + + | +
---|---|
[[wai-aria-1.2]] | +`textbox` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ Object attributes: `text-input-type:telephone`
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ Localized Control Type: `"telephone"`
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `input` + + (`type` attribute in the Text state with + no suggestions source element) + + | +
---|---|
[[wai-aria-1.2]] | +`textbox` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `input` + + (`type` attribute in the Text, + Search, Telephone, + URL, or E-mail states with a + suggestions source element) + + | +
---|---|
[[wai-aria-1.2]] | ++ `combobox` role, with the `aria-controls` property set to the same value as the + `list` attribute + | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ Object attributes: `text-input-type:``as per input type`
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ Other properties: `ControllerFor` points to the suggestions source element
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `input` + (`type` attribute in the Time state) + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +html-input-time |
+
+ MSAA + IAccessible2 + | +
+
+ Role: `ROLE_SYSTEM_SPINBUTTON` if implemented as a simple widget; `ROLE_SYSTEM_GROUPING` with child controls mapped as appropriate if
+ implemented as a complex widget
+
+ Object attributes: `text-input-type:time`
+ |
+
UIA | +
+ Depends on UI design of implementation. The UI in Windows 10 Edge, for Example, is a composite of multiple spinners.
+ |
+
ATK | ++ + | +
AX | +
+ AXRole: `AXTimeField`
+ AXSubrole: `(nil)`
+ AXRoleDescription: `"time field"`
+ |
+
Comments | ++ |
HTML Specification | ++ `input` + (`type` attribute in the URL state with no + suggestions source element) + | +
---|---|
[[wai-aria-1.2]] | +`textbox` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ Object attributes: `text-input-type:url`
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ Localized Control Type: `"url"`
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `input` + (`type` attribute in the Week state) + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +html-input-week |
+
+ MSAA + IAccessible2 + | +
+ Role: `IA2_ROLE_DATE_EDITOR`
+ Object attributes: `text-input-type:week`
+ |
+
UIA | +
+ Depends on UI design of implementation. The UI in Windows 10 Edge, for Example, is a composite of multiple spinners.
+ |
+
ATK | +
+ Role: `ATK_ROLE_CALENDAR`
+ |
+
AX | +
+ AXRole: `AXTextField`
+ AXSubrole: `(nil)`
+ AXRoleDescription: `"text field"`
+ |
+
Comments | ++ |
HTML Specification | ++ `ins` + | +
---|---|
[[wai-aria-1.2]] | +`insertion` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `kbd` + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +html-kbd |
+
+ MSAA + IAccessible2 + | +
+ No accessible object.
+ Text attributes: `font-family:monospace` on the text container
+ |
+
UIA | +
+ No accessible object. Styles used are exposed by UIA text attribute identifiers of the `TextRange` Control Pattern implemented on a parent accessible object.
+ |
+
ATK | +
+ No accessible object. Mapped into "font-family:monospace" text attribute on its text container.
+ |
+
AX | +
+ AXRole: `AXGroup`
+ AXSubrole: `(nil)`
+ AXRoleDescription: `"group"`
+ |
+
Comments | ++ |
HTML Specification | ++ `label` + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +html-label |
+
+ MSAA + IAccessible2 + | +
+ Roles: `ROLE_SYSTEM_STATICTEXT`; `IA2_ROLE_LABEL`
+
+ Relations:
+ `IA2_RELATION_LABEL_FOR` with a labelable element that is child to the `label` or referred to by the `label` element's
+ `for` attribute. The associated labelable element has `IA2_RELATION_LABELLED_BY` pointing to the `label`.
+
+ |
+
UIA | +
+ Control Type: `Group`
+
+ Relations:
+
+
+ When the `label` element contains a labelable element, the `LabeledBy` property for the element points to the UIA element for the
+ `label` element.
+
+
+ When the `label` element has a `for` attribute referencing a labelable element, the `LabeledBy`
+ property for the referenced element points to the UIA element for the `label` element.
+
+ |
+
ATK | +
+ Role: `ATK_ROLE_LABEL`
+
+ Relations:
+ `ATK_RELATION_LABEL_FOR` for a child labelable element or labelable element referred by
+ `for` attribute. Note, related labelable element provides `ATK_RELATION_LABELLED_BY` pointing to the `label`.
+
+ |
+
AX | +
+ AXRole: `AXGroup`
+ AXSubrole: `(nil)`
+ AXRoleDescription: `"group"`
+ |
+
Comments | ++ |
HTML Specification | ++ `legend` + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +html-legend |
+
+ MSAA + IAccessible2 + | +
+ Roles: `ROLE_SYSTEM_STATICTEXT`; `IA2_ROLE_LABEL`
+ Relations: `IA2_RELATION_LABEL_FOR` with the parent `fieldset`
+ |
+
UIA | +
+ Control Type: `Text`
+
+ Other properties:
+ The `LabeledBy` property for the parent
+ `fieldset` points to the UIA element for the `legend` element.
+
+ |
+
ATK | +
+ Role: `ATK_ROLE_LABEL`
+
+ Relations:
+ `ATK_RELATION_LABEL_FOR` with parent `fieldset` element
+
+ |
+
AX | +
+ AXRole: `AXGroup`
+ AXSubrole: `(nil)`
+ AXRoleDescription: `"group"`
+ |
+
Comments | ++ |
HTML Specification | ++ `li` + | +
---|---|
[[wai-aria-1.2]] | ++ `listitem` role with `aria-setsize` value reflecting number of `li` + elements within the parent `ol`, `menu` or `ul` and `aria-posinset` + value reflecting the `li` elements position within the set. + | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ If `li` element is not a child of `ol` , `menu` or `ul`, or if the containing list element is no longer exposed + with a `list` role, then expose the `li` element with a `generic` role. + | +
HTML Specification | ++ `link` + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +Not mapped |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | ++ `main` + | +
---|---|
[[wai-aria-1.2]] | +`main` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `map` + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +html-map |
+
+ MSAA + IAccessible2 + | +
+ Not mapped if used as an image map. Otherwise,
+ Role: `IA2_ROLE_TEXT_FRAME`
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped if used as an image map, otherwise:
+ Role: `ATK_ROLE_STATIC`
+ |
+
AX | +
+
+ Role: `AXImageMap` if used as an image map. Otherwise,
+ + Role: `AXGroup` if associated with an `img` with no `alt`. Otherwise, + not mapped if not associated with an `img`. + |
+
Comments | ++ |
HTML Specification | ++ `mark` + | +
---|---|
[[wai-aria-1.2]] | +`mark` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `math` + | +
---|---|
[[wai-aria-1.2]] | +See comments | +
Computed Role | +See comments |
+
+ MSAA + IAccessible2 + | +See comments | +
UIA | +See comments | +
ATK | +See comments | +
AX | +See comments | +
Comments | +Mapping for `math` is defined by MathML AAM 1.0. | +
HTML Specification | ++ `menu` + | +
---|---|
[[wai-aria-1.2]] | +`list` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | +
+
+ The `menu` element is a semantic alternative to the `ul` element. It has no implemented mappings or behavior that reflect the semantics
+ of the ARIA `menu` role.
+
+
+ Note obsolete `menuitem` element and `menu` with `type` attribute.
+
+ |
+
HTML Specification | ++ `meta` + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +Not mapped |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | ++ `meter` + | +
---|---|
[[wai-aria-1.2]] | +`meter` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `nav` + | +
---|---|
[[wai-aria-1.2]] | +`navigation` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `noscript` + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +Not mapped |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | ++ `object` + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +html-object |
+
+ MSAA + IAccessible2 + | +
+ Depends on format of data file. If it contains a plugin then,
+ Role: `IA2_ROLE_EMBEDDED_OBJECT`
+
+ States:
+ `STATE_SYSTEM_UNAVAILABLE` for windowless plugin
+
+ |
+
UIA | +
+ Depends on format of data file.
+ |
+
ATK | +
+ Depends on format of data file. If contains a plugin then
+
+ Role:
+ `ATK_ROLE_EMBEDDED`
+
+ |
+
AX | +Depends on format of data file. | +
Comments | ++ |
HTML Specification | ++ `ol` + | +
---|---|
[[wai-aria-1.2]] | +`list` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `optgroup` + | +
---|---|
[[wai-aria-1.2]] | +`group` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `option` + (in a list of options or represents a suggestion in a `datalist`) + | +
---|---|
[[wai-aria-1.2]] | ++ `option` role, with the `aria-selected` state set to "true" if the element's + selectedness is true, or "false" otherwise. + | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `output` + | +
---|---|
[[wai-aria-1.2]] | +`status` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ Relations: `IA2_RELATION_LABELLED_BY` with associated `label` element
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ Relations: `ATK_RELATION_LABELLED_BY` with associated `label` element
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | +`AXDescription`: value from associated `label` element subtree. | +
undefined | ++ |
HTML Specification | ++ `p` + | +
---|---|
[[wai-aria-1.2]] | +`paragraph` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `param` + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +Not mapped |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | +`param` is obsolete in HTML | +
HTML Specification | ++ `picture` + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +Not mapped |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | ++ `pre` + | +
---|---|
[[wai-aria-1.2]] | +`generic` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `progress` + | +
---|---|
[[wai-aria-1.2]] | ++ `progressbar` role, with, if the progress bar is determinate, the + `aria-valuemax` property set to the maximum value of the progress bar, the + `aria-valuemin` property set to zero, and the `aria-valuenow` property set to the + current value of the progress bar + | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `q` + | +
---|---|
[[wai-aria-1.2]] | +`generic` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | +`::before` and `::after` CSS pseudo content is used by platforms to render the element's quotation marks. | +
HTML Specification | ++ `rp` + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +html-rp |
+
+ MSAA + IAccessible2 + | +
+
+ No accessible object. No child elements are exposed if
+ `ruby` is supported by the browser.
+
+ |
+
UIA | +
+ No accessible object.
+ |
+
ATK | +
+ No accessible object. No child elements are exposed if `ruby` is supported by the browser.
+ |
+
AX | +Not mapped | +
Comments | ++ |
HTML Specification | ++ `rt` + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +html-rt |
+
+ MSAA + IAccessible2 + | +
+
+ No accessible object. No child elements are exposed if
+ `ruby` is supported by the browser.
+
+ |
+
UIA | +
+ No accessible object.
+ |
+
ATK | +
+ No accessible object.
+ |
+
AX | +
+ AXRole: `AXGroup`
+ AXSubrole: `AXRubyText`
+ AXRoleDescription: `"group"`
+ |
+
Comments | ++ |
HTML Specification | ++ `ruby` + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +html-ruby |
+
+ MSAA + IAccessible2 + | +
+ Role: `ROLE_SYSTEM_TEXT`; `IA2_ROLE_TEXT_FRAME`
+ |
+
UIA | +
+ Control Type: `Text`
+ Localized Control Type: `"ruby"`
+ |
+
ATK | +
+ Role: `ATK_ROLE_STATIC`
+ |
+
AX | +
+ AXRole: `AXGroup`
+ AXSubrole: `AXRubyInline`
+ AXRoleDescription: `"group"`
+ |
+
Comments | ++ |
HTML Specification | ++ `s` + | +
---|---|
[[wai-aria-1.2]] | +`deletion` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `samp` + | +
---|---|
[[wai-aria-1.2]] | +`generic` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `script` + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +Not mapped |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | ++ `search` + | +
---|---|
[[wai-aria-1.2]] | +`search` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `section` + | +
---|---|
[[wai-aria-1.2]] | ++ `region` role if the `section` element has an accessible name. Otherwise, + the `generic` role. + | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `select` + + (with a `multiple` attribute or `size` attribute having + value greater than `1`) + + | +
---|---|
[[wai-aria-1.2]] | +`listbox` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `select` + + (with NO `multiple` attribute and NO `size` attribute + having value greater than `1`) + + | +
---|---|
[[wai-aria-1.2]] | +`combobox` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `slot` + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +Not mapped |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | ++ `small` + | +
---|---|
[[wai-aria-1.2]] | +`generic` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | +Exposed by platform specific font size styles. | +
HTML Specification | ++ `source` + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +Not mapped |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | ++ `span` + | +
---|---|
[[wai-aria-1.2]] | +`generic` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `strong` + | +
---|---|
[[wai-aria-1.2]] | +`strong` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `style` + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +Not mapped |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | +
+
+ Note: There are instances where CSS properties can affect what is exposed by accessibility APIs. For instance, `display: none` or `visibility: hidden` will remove an element
+ from the accessibility tree and hide its presence from assistive technologies.
+
+ |
+
HTML Specification | ++ `sub` + | +
---|---|
[[wai-aria-1.2]] | +`subscript` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `summary` + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +
+
+
+ If the element is the first child of its type within a parent `details` element: `html-summary` ++ Otherwise, if it is not the first child of its type of a parent `details` element, or it is not a child of a `details` element: + `generic` role + + |
+
+ MSAA + IAccessible2 + | +
+ Role: `ROLE_SYSTEM_PUSHBUTTON`
+
+ States:
+ `STATE_SYSTEM_EXPANDED` / `STATE_SYSTEM_COLLAPSED`
+
+ Actions: `expand` / `collapse`
+ |
+
UIA | +
+ Control Type: `Button`
+ Control Pattern: `ExpandCollapse`
+ |
+
ATK | +
+ Role: `ROLE_TOGGLE_BUTTON`
+ Relations: `ATK_RELATION_DETAILS`
+ |
+
AX | +
+ AXRole: `AXDisclosureTriangle`
+ AXSubrole: `(nil)`
+ AXRoleDescription: `"disclosure triangle"`
+ |
+
Comments | ++ If a `summary` element is not a child of a `details` element, or it is not the first `summary` element of a parent `details`, then the `summary` element MUST be exposed with a + `generic` role. + | +
HTML Specification | ++ `sup` + | +
---|---|
[[wai-aria-1.2]] | +`superscript` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `svg` + | +
---|---|
[[wai-aria-1.2]] | +See comments | +
Computed Role | +See comments |
+
+ MSAA + IAccessible2 + | +See comments | +
UIA | +See comments | +
ATK | +See comments | +
AX | +See comments | +
Comments | +Mapping for `svg` is defined by [[[svg-aam-1.0]]]. See also Graphics Accessibility API Role Mappings | +
HTML Specification | ++ `table` + | +
---|---|
[[wai-aria-1.2]] | +`table` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +Use WAI-ARIA mapping | +
UIA | +Use WAI-ARIA mapping | +
ATK | +Use WAI-ARIA mapping | +
AX | +Use WAI-ARIA mapping | +
Comments | ++ |
HTML Specification | ++ `tbody` + | +
---|---|
[[wai-aria-1.2]] | +`rowgroup` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +Use WAI-ARIA mapping | +
UIA | +Use WAI-ARIA mapping | +
ATK | +Use WAI-ARIA mapping | +
AX | +Use WAI-ARIA mapping | +
Comments | ++ |
HTML Specification | ++ `td` + (ancestor `table` element has `table` role) + | +
---|---|
[[wai-aria-1.2]] | +`cell` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `td` + (ancestor `table` element has `grid` or `treegrid` role) + | +
---|---|
[[wai-aria-1.2]] | +`gridcell` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `template` + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +Not mapped |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | ++ `textarea` + | +
---|---|
[[wai-aria-1.2]] | +`textbox` role, with the `aria-multiline` property set to "true" | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `tfoot` + | +
---|---|
[[wai-aria-1.2]] | +`rowgroup` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `th` + (is not a column header, row header, + column group header or row group header, and ancestor + `table` element has `table` role) + + | +
---|---|
[[wai-aria-1.2]] | +`cell` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `th` + (is not a column header, row header, + column group header or row group header, and ancestor + `table` element has + `grid` + or `treegrid` role) + + | +
---|---|
[[wai-aria-1.2]] | +`gridcell` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `th` + (is a column header or column group header) + | +
---|---|
[[wai-aria-1.2]] | +`columnheader` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `th` + (is a row header or row group header) + | +
---|---|
[[wai-aria-1.2]] | +`rowheader` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `thead` + | +
---|---|
[[wai-aria-1.2]] | +`rowgroup` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `time` + | +
---|---|
[[wai-aria-1.2]] | +`time` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `title` + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +Not mapped |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | +A `title` element provides the accessible name for its document. | +
HTML Specification | ++ `tr` + | +
---|---|
[[wai-aria-1.2]] | +`row` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `track` + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +Not mapped |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | ++ `u` + | +
---|---|
[[wai-aria-1.2]] | +`generic` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | +Exposed by platform specific underline text styles. | +
HTML Specification | ++ `ul` + | +
---|---|
[[wai-aria-1.2]] | +`list` role | +
Computed Role | +Use WAI-ARIA mapping |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | ++ `var` + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +html-var |
+
+ MSAA + IAccessible2 + | +
+ No accessible object. Styles used are mapped to text attributes on its text container.
+ |
+
UIA | +
+ No accessible object. Styles used are exposed by UIA text attribute identifiers of the `TextRange` Control Pattern implemented on a parent accessible object.
+ |
+
ATK | +
+ No accessible object. Styles used are mapped to text attributes on its text container.
+ |
+
AX | +
+ AXRole: `AXGroup`
+ AXSubrole: `(nil)`
+ AXRoleDescription: `"group"`
+ |
+
Comments | ++ |
HTML Specification | ++ `video` + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +html-video |
+
+ MSAA + IAccessible2 + | +
+ Role: `ROLE_SYSTEM_GROUPING`
+ |
+
UIA | +
+ Control Type: `Group`
+ Localized Control Type: `"group"`
+
+ Note: If the `controls` attribute is present, UI controls (e.g., play, volume) are exposed as children of the
+ `video` element in the accessibility tree, and mapped as appropriate for the type of control (e.g.,
+ `button` or `slider`).
+
+
+ Text objects associated with loading or error messages, and any UI control not currently displayed, MAY be present in the accessibility tree and marked as
+ hidden or off-screen.
+
+ |
+
ATK | +
+ Role: `ATK_ROLE_VIDEO`
+ |
+
AX | +
+ AXRole: `AXGroup`
+ AXSubrole: `AXVideo`
+ AXRoleDescription: `"video playback"`
+
+ Note: If the `controls` attribute is present, UI controls (e.g., play, volume) are exposed as descendants of an
+ accessible object with a role of `toolbar`, and mapped as appropriate for the type of control (e.g.,
+ `button` or `slider`).
+
+ |
+
Comments | ++ |
HTML Specification | ++ `wbr` + | +
---|---|
[[wai-aria-1.2]] | +No corresponding role | +
Computed Role | +Not mapped |
+
+ MSAA + IAccessible2 + | +
+ If a line break is added, expose it with `IAccessibleText` on the text container
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ A line break if added is exposed via Text interface on its text container
+ |
+
AX | +
+ AXRole: `AXGroup`
+ AXSubrole: `(nil)`
+ AXRoleDescription: `"group"`
+ |
+
Comments | ++ |
HTML Specification | +`abbr` | +
---|---|
Element(s) | ++ `th` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+
+ Object attributes:
+ "abbr" until child `abbr` element is provided
+
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+
+ Object attributes:
+ "abbr" until child `abbr` element is provided
+
+ |
+
AX | +`AXDescription: <value>` | +
Comments | ++ |
HTML Specification | +`accept` | +
---|---|
Element(s) | ++ `input` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`accept-charset` | +
---|---|
Element(s) | ++ `form` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`accesskey` | +
---|---|
Element(s) | ++ `HTML elements` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+
+ A key binding accessible by
+ `accKeyboardShortcut`
+ and `IAccessibleAction::keyBinding`
+
+ |
+
UIA | +
+ Properties: `AccessKey: <value>`
+ |
+
ATK | +
+ `atk_action_get_keybinding`
+ |
+
AX | +`AXAccessKey: <value>` | +
Comments | ++ |
HTML Specification | +`action` | +
---|---|
Element(s) | ++ `form` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`allow` | +
---|---|
Element(s) | ++ `iframe` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`allowfullscreen` | +
---|---|
Element(s) | ++ `iframe` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`alt` | +
---|---|
Element(s) | ++ `area`; `img`; + `input` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | ++ Used for accessible name, exposed via + `accName` + | +
UIA | +
+
+ Properties:
+ `Name`
+
+ |
+
ATK | +
+ Used for accessible name, exposed via `atk_object_get_name`
+ |
+
AX | +`AXDescription: <value>` | +
Comments | ++ |
HTML Specification | +`as` | +
---|---|
Element(s) | ++ `link` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`async` | +
---|---|
Element(s) | ++ `script` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`autocapitalize` | +
---|---|
Element(s) | ++ HTML elements + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`autocomplete` | +
---|---|
Element(s) | ++ `form` + | +
[[WAI-ARIA-1.2]] | +
+
+ Note: the ARIA attribute and the HTML attribute have disparate features.
+ |
+
+ MSAA + IAccessible2 + | +
+
+ States:
+ `STATE_SUPPORTS_AUTOCOMPLETION` on text form controls until the value is overridden by control
+
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+
+ States:
+ `ATK_STATE_SUPPORTS_AUTOCOMPLETION` on text form controls until the value is overridden by control
+
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ If the element includes both `autocomplete` and `aria-autocomplete` attributes with valid values, User Agents MUST expose only the `autocomplete` attribute value. The + `aria-autocomplete` attribute is not valid on a `form` element. + | +
HTML Specification | +`autocomplete` | +
---|---|
Element(s) | ++ `input`, `select` and `textarea` + | +
[[WAI-ARIA-1.2]] | +
+
+ Note: the ARIA attribute and the HTML attribute have disparate features.
+ |
+
+ MSAA + IAccessible2 + | +
+ States: `STATE_SUPPORTS_AUTOCOMPLETION`
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ States: `ATK_STATE_SUPPORTS_AUTOCOMPLETION`
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | +If the element includes both `autocomplete` and `aria-autocomplete` attributes with valid values, User Agents MUST expose only the `autocomplete` attribute value. | +
HTML Specification | +`autofocus` | +
---|---|
Element(s) | ++ HTML elements + | +
[[WAI-ARIA-1.2]] | +Not mapped | +
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`autoplay` | +
---|---|
Element(s) | ++ `audio` and `video` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`blocking` | +
---|---|
Element(s) | ++ `link`; `script`; + `style` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`charset` | +
---|---|
Element(s) | ++ `meta` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`checked` (if present) | +
---|---|
Element(s) | +`input` `type=checkbox` or `type=radio` | +
[[WAI-ARIA-1.2]] | +`aria-checked`="true" | +
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +Property: `Toggle.ToggleState: On (1)` | +
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +`AXValue: 1` | +
Comments | ++ If an `input` element in the `checkbox` or `radio` state includes both the `checked` attribute and the `aria-checked` attribute with a valid value, User Agents MUST expose only the + `checked` attribute value. + | +
HTML Specification | +`checked` (if absent) | +
---|---|
Element(s) | +`input` `type=checkbox` or `type=radio` | +
[[WAI-ARIA-1.2]] | +`aria-checked`="false" | +
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +Property: `Toggle.ToggleState: Off (0)` | +
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +`AXValue: 0` | +
Comments | ++ An `input` element in the `checkbox` or `radio` state without a `checked` attribute has an implicit "false" state. User Agents MUST ignore an `aria-checked` attribute which conflicts + with the native element's implicit checked state. + | +
HTML Specification | +`cite` | +
---|---|
Element(s) | ++ `blockquote`; `del` and `ins`; + `q` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +`AXURL: <value>` | +
Comments | ++ |
HTML Specification | +`class` | +
---|---|
Element(s) | ++ HTML elements + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`color` | +
---|---|
Element(s) | ++ `link` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`cols` | +
---|---|
Element(s) | ++ `textarea` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +`AXRangeForLine: <value>` | +
Comments | +
+ Not mapped
+ |
+
HTML Specification | +`colspan` | +
---|---|
Element(s) | ++ `td` and `th` + | +
[[WAI-ARIA-1.2]] | ++ `aria-colspan` + | +
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | +`content` | +
---|---|
Element(s) | ++ `meta` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`contenteditable` | +
---|---|
Element(s) | ++ HTML elements + | +
[[WAI-ARIA-1.2]] | +Not mapped | +
+ MSAA + IAccessible2 + | +
+ + If the element is in the editable state, the following mappings apply to the element and every nested accessible object with the exception of those which have been specified in the + `false` state. + +
+ States:
+ `IA2_STATE_EDITABLE` and `IA2_STATE_MULTI_LINE`
+
+
+ Interfaces:
+ `IAccessibleEditableText`
+
+ If the element is in the `false` state: not mapped. +If the element is in the `inherit` state: match the editable state of its parent element. + |
+
UIA | +
+ + If the element is in the editable state, the following mappings apply to the element and every nested accessible object with the exception of those which have been specified in the + `false` state. + +Control Pattern: `TextEdit`
+ Property: `AriaProperties.multiline:true`
+ If the element is in the `false` state: not mapped. +If the element is in the `inherit` state: match the editable state of its parent element. + |
+
ATK | +
+ + If the element is in the editable state, the following mappings apply to the element and every nested accessible object with the exception of those which have been specified in the + `false` state. + +
+ States:
+ `ATK_STATE_EDITABLE` and `ATK_STATE_MULTI_LINE`
+
+ Interfaces: `AtkEditableText`
+ If the element is in the `false` state: not mapped. +If the element is in the `inherit` state: match the editable state of its parent element. + |
+
AX | +
+ Role:
+ AXTextArea
+ Use WAI-ARIA mapping
+ |
+
Comments | +If the element is set to `contenteditable` and `aria-readonly="true"`, User Agents MUST expose only the `contenteditable` state. | +
HTML Specification | +`controls` | +
---|---|
Element(s) | ++ `audio` and `video` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +Controls exposed as `AXToolbar` | +
Comments | ++ |
HTML Specification | +`coords` | +
---|---|
Element(s) | ++ `area` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Defines an accessible object's dimensions (`IAccessible::accLocation`)
+ |
+
UIA | +
+ Defines an accessible object's dimensions (`BoundingRectangle`)
+ |
+
ATK | +
+ Defines an accessible object's dimensions, exposed via `atk_component_get_position` and `atk_component_get_size`
+ |
+
AX | +
+ Defines an accessible object's dimensions, exposed via `Frame` property
+ |
+
Comments | ++ |
HTML Specification | +`crossorigin` | +
---|---|
Element(s) | ++ `audio`; `img`; + `link`; `script`; + `video` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`data` | +
---|---|
Element(s) | ++ `object` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`datetime` | +
---|---|
Element(s) | ++ `del` and `ins` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Object attributes: `datetime: <value>`
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Object attributes: `datetime: <value>`
+ |
+
AX | +`AXDateTimeValue: <value>` | +
Comments | ++ |
HTML Specification | +`datetime` | +
---|---|
Element(s) | ++ `time` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Object attributes: `datetime: <value>`
+ |
+
UIA | +
+ Properties: `FullDescription: <value>`
+ |
+
ATK | +
+ Object attributes: `datetime: <value>`
+ |
+
AX | +`AXDateTimeValue: <value>` | +
Comments | ++ |
HTML Specification | +`decoding` | +
---|---|
Element(s) | ++ `img` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`default` | +
---|---|
Element(s) | ++ `track` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`defer` | +
---|---|
Element(s) | ++ `script` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`dir` | +
---|---|
Element(s) | ++ HTML elements + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Exposed as "writing-mode" text attribute on the text container.
+ |
+
UIA | +
+ Exposed by `TextFlowDirections` attribute of the `TextRange` Control Pattern implemented on a parent accessible object.
+ |
+
ATK | +
+ Exposed as "writing-mode" text attribute on the text container.
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`dir` | +
---|---|
Element(s) | ++ `bdo` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Exposed as "writing-mode" text attribute on the text container.
+ |
+
UIA | +
+ Exposed by `TextFlowDirections` attribute of the `TextRange` Control Pattern implemented on a parent accessible object.
+ |
+
ATK | +
+ Exposed as "writing-mode" text attribute on the text container.
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`dirname` | +
---|---|
Element(s) | ++ `input` and `textarea` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`disabled` | +
---|---|
Element(s) | ++ `button`; `input`; + `optgroup`; `option`; + `select`; `textarea`; + form-associated custom element + | +
[[WAI-ARIA-1.2]] | ++ `aria-disabled="true"` + | +
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | +If the element has both the `disabled` attribute and the `aria-disabled` attribute with a valid value, User Agents MUST expose only the `disabled` attribute value. | +
HTML Specification | +`disabled` | +
---|---|
Element(s) | ++ `fieldset` + | +
[[WAI-ARIA-1.2]] | ++ `aria-disabled="true"` + | +
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | +
+ Form controls within a valid [^legend^] child element of a `fieldset` with a `disabled` attribute do not become disabled. +If the element has both the `disabled` attribute and the `aria-disabled` attribute with a valid value, User Agents MUST expose only the `disabled` attribute value. + |
+
HTML Specification | +`disabled` | +
---|---|
Element(s) | ++ `link` + | +
[[WAI-ARIA-1.2]] | +Not mapped | +
+ MSAA + IAccessible2 + | +Not mapped | +
UIA | +Not mapped | +
ATK | +Not mapped | +
AX | +Not mapped | +
Comments | ++ |
HTML Specification | +`download` | +
---|---|
Element(s) | ++ `a` and `area` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`draggable` | +
---|---|
Element(s) | ++ HTML elements + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Object attributes: draggable:true
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Object attributes: draggable:true
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`enctype` | +
---|---|
Element(s) | ++ `form` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`enterkeyhint` | +
---|---|
Element(s) | ++ HTML elements + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ Modifies the action label (or icon) to present for the + enter key on virtual keyboards. + | +
HTML Specification | +`fetchpriority` | +
---|---|
Element(s) | ++ `img`; `link`; + `script` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`for` | +
---|---|
Element(s) | ++ `label` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Used for accessible name
+
+ Relations:
+ `IA2_RELATION_LABEL_FOR` and `IA2_RELATION_LABEL_BY` relations between
+ `label` and referred labelable element
+
+ |
+
UIA | +
+ Used for accessible name
+
+ When the `label` element has a `for` attribute referencing another labelable element, the `LabeledBy` property for the referenced
+ element points to the UIA element for the `label` element.
+
+ |
+
ATK | +
+ Used for accessible name
+
+ Relations:
+ `ATK_RELATION_LABEL_FOR` and `ATK_RELATION_LABEL_BY` relations between
+ `label` and referred labelable element
+
+ |
+
AX | +
+ Used for accessible name
+ |
+
Comments | ++ |
HTML Specification | +`for` | +
---|---|
Element(s) | ++ `output` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+
+ Relations:
+ `IA2_RELATION_CONTROLLED_BY` with an element pointed by the attribute. Paired element exposes `IA2_RELATION_CONTROLLER_FOR` relation.
+
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+
+ Relations:
+ `ATK_RELATION_CONTROLLED_BY` with an element pointed by the attribute. Paired element exposes `ATK_RELATION_CONTROLLER_FOR` relation.
+
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`form` | +
---|---|
Element(s) | ++ `button`; `fieldset`; + `input`; `label`; + `object`; `output`; + `select`; `textarea`; + form-associated custom element + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`formaction` | +
---|---|
Element(s) | ++ `button`; + `input` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`formenctype` | +
---|---|
Element(s) | ++ `button`; + `input` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`formmethod` | +
---|---|
Element(s) | ++ `button`; + `input` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`formnovalidate` | +
---|---|
Element(s) | ++ `button`; + `input` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`formtarget` | +
---|---|
Element(s) | +`button`; `input` | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`headers` | +
---|---|
Element(s) | ++ `td`; + `th` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Links the cell to its header cells. Exposed via `IAccessibleTableCell::rowHeaderCells` and `IAccessibleTableCell::columnHeaderCells`.
+ |
+
UIA | +
+ Links the cell to its header cells. Exposed via `Table.ItemColumnHeaderItems` and `Table.ItemRowHeaderItems`.
+ |
+
ATK | +
+
+ Links the cell to its row and column header cells (note, only one row and one column header cells can be exposed because of API
+ restrictions). See `atk_table_get_row_header` and `atk_table_get_column_header`.
+
+ |
+
AX | +Expose via `AXColumnHeaderUIElements` and `AXRowHeaderUIElements` | +
Comments | ++ |
HTML Specification | +`height` | +
---|---|
Element(s) | ++ `canvas`; `embed`; + `iframe`; `img`; + `input`; `object`; + `source` (in `picture`); + `video` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Defines an accessible object's height (`IAccessible::accLocation`)
+ |
+
UIA | +
+ Defines an accessible object's height (`BoundingRectangle`)
+ |
+
ATK | +
+ Defines an accessible object's height (`atk_component_get_size`)
+ |
+
AX | +
+ Defines an accessible object's height (`AXSize` property)
+ |
+
Comments | ++ |
HTML Specification | ++ `hidden` + | +
---|---|
Element(s) | ++ HTML elements + | +
[[WAI-ARIA-1.2]] | ++ `aria-hidden="true"` if the element retains its user agent default styling of `display: none`. Otherwise, if no other method for + hiding the content is used (e.g., `visibility: hidden`) then it is not mapped. + | +
+ MSAA + IAccessible2 + | +Use WAI-ARIA mapping | +
UIA | +Use WAI-ARIA mapping | +
ATK | +Use WAI-ARIA mapping | +
AX | +Use WAI-ARIA mapping | +
Comments | ++ |
HTML Specification | +`high` | +
---|---|
Element(s) | ++ `meter` + | +
[[WAI-ARIA-1.2]] | +Not mapped | +
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +`RangeValue.Maximum` | +
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | ++ `href` + | +
---|---|
Element(s) | +`a`; `area` | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | ++ + | +
UIA | ++ Creates a link accessible object. For details, refer to + `a` and `area` element mappings. The value of the `href` attribute is stored in the `Value.Value` UIA property. + | +
ATK | ++ + | +
AX | +`AXURL: <value>` | +
Comments | ++ |
HTML Specification | +`href` | +
---|---|
Element(s) | ++ `link` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`hreflang` | +
---|---|
Element(s) | ++ `a`; + `link` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`http-equiv` | +
---|---|
Element(s) | ++ `meta` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`id` | +
---|---|
Element(s) | ++ HTML elements + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`inert` | +
---|---|
Element(s) | ++ HTML elements + | +
[[WAI-ARIA-1.2]] | +Not Mapped | +
+ MSAA + IAccessible2 + | +See comments | +
UIA | +See comments | +
ATK | +See comments | +
AX | +See comments | +
Comments | +
+ Nodes that are inert are not exposed to an accessibility API. ++ Note: an inert node can have descendants that are not inert. For example, a + modal dialog + can escape an inert subtree. + + |
+
HTML Specification | +`indeterminate [IDL]` | +
---|---|
Element(s) | ++ HTML elements; + `input` + | +
[[WAI-ARIA-1.2]] | +`aria-checked` (state)="mixed" | +
+ MSAA + IAccessible2 + | +Use WAI-ARIA mapping | +
UIA | +Use WAI-ARIA mapping | +
ATK | +Use WAI-ARIA mapping | +
AX | +Use WAI-ARIA mapping | +
Comments | +If the element has the `indeterminate [IDL]` set and the `aria-checked` attribute set, User Agents MUST expose only the `indeterminate [IDL]` state. | +
HTML Specification | +`ismap` | +
---|---|
Element(s) | ++ `img` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`itemid` | +
---|---|
Element(s) | ++ `img` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`itemprop` | +
---|---|
Element(s) | ++ `img` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`itemref` | +
---|---|
Element(s) | ++ `img` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`itemscope` | +
---|---|
Element(s) | ++ `img` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`itemtype` | +
---|---|
Element(s) | ++ `img` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`kind` | +
---|---|
Element(s) | ++ `track` + | +
[[WAI-ARIA-1.2]] | +Not mapped | +
+ MSAA + IAccessible2 + | +Not mapped | +
UIA | +Not mapped | +
ATK | +Not mapped | +
AX | +Not mapped | +
Comments | ++ |
HTML Specification | +`label` | +
---|---|
Element(s) | ++ `optgroup`; `option`; + `track` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Associates the accessible name
+ |
+
UIA | ++ The target element of the `label` attribute has a `LabeledBy` property pointing to the element with the `label` attribute. Participates in + name computation. + | +
ATK | +
+ Associates the accessible name
+ |
+
AX | +`AXTitle`: `<value>` | +
Comments | +See Also: Accessible Name and Description: Computation and API Mappings 1.1 | +
HTML Specification | +`lang` | +
---|---|
Element(s) | ++ HTML elements + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Exposed as "language" text attribute on the text container
+ |
+
UIA | +
+
+ The value of the `lang` attribute is exposed as a locale identifier by `Culture` property of the UIA element representing the HTML element, and by `Culture` attribute of the
+ `TextRange` Control Pattern implemented on a parent accessible object.
+
+ |
+
ATK | +
+ Exposed as "language" text attribute on the text container
+ |
+
AX | +`AXLanguage: <value>` | +
Comments | ++ |
HTML Specification | +`list` | +
---|---|
Element(s) | ++ `input` + | +
[[WAI-ARIA-1.2]] | ++ `aria-controls` + | +
+ MSAA + IAccessible2 + | +
+ `IA2_RELATION_CONTROLLER_FOR` point to the `datalist` element referred to by the IDREF value of the `list` attribute.
+ |
+
UIA | +
+ `ControllerFor` point to the `datalist` element referred to by the IDREF value of the `list` attribute.
+ |
+
ATK | +
+ `ATK_RELATION_CONTROLLER_FOR` point to the `datalist` element referred to by the IDREF value of the `list` attribute.
+ |
+
AX | +
+ Property: `AXLinkedUIElements`: point to the `datalist` element referred to by the IDREF value of the `list` attribute.
+ |
+
Comments | +Refer to `datalist` and `input` element mappings. | +
HTML Specification | +`loop` | +
---|---|
Element(s) | ++ `audio`; + `video` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`low` | +
---|---|
Element(s) | ++ `meter` + | +
[[WAI-ARIA-1.2]] | +Not mapped | +
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ `RangeValue.Minimum`
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`max` | +
---|---|
Element(s) | ++ `input` + | +
[[WAI-ARIA-1.2]] | ++ `aria-valuemax` + | +
+ MSAA + IAccessible2 + | +
+ Exposed as `IAccessibleValue::maximumValue` if the element implements the interface
+ |
+
UIA | +`RangeValue.Maximum` | +
ATK | +
+ Exposed as `atk_value_get_maximum_value` if the element implements the `AtkValue` interface
+ |
+
AX | +`AXMaxValue: <value>` | +
Comments | ++ |
HTML Specification | +`max` | +
---|---|
Element(s) | ++ `meter`; + `progress` + | +
[[WAI-ARIA-1.2]] | ++ `aria-valuemax` + | +
+ MSAA + IAccessible2 + | +
+ Exposed as `IAccessibleValue::maximumValue` if the element implements the interface
+ |
+
UIA | +`RangeValue.Maximum` | +
ATK | +
+ Exposed as `atk_value_get_maximum_value` if the element implements the `AtkValue` interface
+ |
+
AX | +`AXMaxValue: <value>` | +
Comments | ++ |
HTML Specification | +`maxlength` | +
---|---|
Element(s) | ++ `input`; + `textarea` + | +
[[WAI-ARIA-1.2]] | +Not mapped | +
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`media` | +
---|---|
Element(s) | ++ `link`; `meta`; + `source` (in `picture`); + `style` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`method` | +
---|---|
Element(s) | ++ `form` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`min` | +
---|---|
Element(s) | ++ `input` + | +
[[WAI-ARIA-1.2]] | ++ `aria-valuemin` + | +
+ MSAA + IAccessible2 + | +
+ Exposed as `IAccessibleValue::minimumValue` if the element implements the interface
+ |
+
UIA | +`RangeValue.Minimum` | +
ATK | +
+ Exposed as `atk_value_get_minimum_value` if the element implements the `AtkValue` interface
+ |
+
AX | +`AXMinValue: <value>` | +
Comments | ++ |
HTML Specification | +`min` | +
---|---|
Element(s) | ++ `meter` + | +
[[WAI-ARIA-1.2]] | ++ `aria-valuemin` + | +
+ MSAA + IAccessible2 + | +
+ Exposed as `IAccessibleValue::minimumValue` if the element implements the interface
+ |
+
UIA | +`RangeValue.Minimum` | +
ATK | +
+ Exposed as `atk_value_get_minimum_value` if the element implements the `AtkValue` interface
+ |
+
AX | +`AXMinValue: <value>` | +
Comments | ++ |
HTML Specification | +`minlength` | +
---|---|
Element(s) | ++ `input`; + `textarea` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+
+ States:
+ `IA2_STATE_INVALID_ENTRY` if value doesn't meet the designated minimum length value.
+
+ |
+
UIA | +
+
+ States:
+ `IsDataValidForForm` if value doesn't meet the designated minimum length value.
+
+ |
+
ATK | +
+
+ States:
+ `ATK_STATE_INVALID_ENTRY` if value doesn't meet the designated minimum length value.
+
+ |
+
AX | +
+
+ Property:
+ `AXInvalid`: `true` if value doesn't meet the designated minimum length value.
+
+ |
+
Comments | ++ |
HTML Specification | +`multiple` | +
---|---|
Element(s) | ++ `input` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`multiple` | +
---|---|
Element(s) | ++ `select` + | +
[[WAI-ARIA-1.2]] | ++ `aria-multiselectable="true"` + | +
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | +`muted` | +
---|---|
Element(s) | ++ `audio`; + `video` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`name` | +
---|---|
Element(s) | ++ `button`; `fieldset`; + `input`; `output`; + `select`; `textarea`; + form-associated custom element + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`name` | +
---|---|
Element(s) | ++ `form` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`name` | +
---|---|
Element(s) | ++ `iframe`; + `object` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`name` | +
---|---|
Element(s) | ++ `map` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`name` | +
---|---|
Element(s) | ++ `meta` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`name` | +
---|---|
Element(s) | ++ `slot` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`nomodule` | +
---|---|
Element(s) | ++ `script` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`nonce` | +
---|---|
Element(s) | ++ HTML elements + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`novalidate` | +
---|---|
Element(s) | ++ `form` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`open` | +
---|---|
Element(s) | ++ `details` + | +
[[WAI-ARIA-1.2]] | +`aria-expanded`="true | false" | +
+ MSAA + IAccessible2 + | +`STATE_SYSTEM_EXPANDED` `STATE_SYSTEM_COLLAPSED` |
+
UIA | ++ `ExpandCollapsePattern` + | +
ATK | +
+
+ States:
+ `ATK_STATE_COLLAPSED` or `ATK_STATE_EXPANDED` depending on the attribute value
+
+ |
+
AX | +`AXExpanded: YES|NO` | +
Comments | +Set properties on the `summary` element. | +
HTML Specification | +`open` | +
---|---|
Element(s) | ++ `dialog` + | +
[[WAI-ARIA-1.2]] | +
+
+ If the `open` attribute is set via the `showModal()` method then `aria-modal="true"` and
+ `aria-hidden="false"`.
+
+
+ Otherwise, if the `open` attribute is set via the `show()` method, or explicitly specified by an author, then
+ `aria-modal="false"` and `aria-hidden="false"`.
+
+ |
+
+ MSAA + IAccessible2 + | +Use WAI-ARIA mapping | +
UIA | +Use WAI-ARIA mapping | +
ATK | +Use WAI-ARIA mapping | +
AX | +Use WAI-ARIA mapping | +
Comments | +
+ The `open` attribute's value is irrelevant. When the `open` attribute is not specified the default user agent styling for a `dialog` is `display: none`. ++ Authors can reveal a `dialog` through the style layer by modifying its `display` property. If revealed this way then the `dialog` is + `aria-modal="false"` and `aria-hidden="false"`. + + |
+
HTML Specification | +`optimum` | +
---|---|
Element(s) | ++ `meter` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`pattern` | +
---|---|
Element(s) | ++ `input` + | +
[[WAI-ARIA-1.2]] | +
+
+ If the value doesn't match the pattern: `aria-invalid="true"`; Otherwise,
+ `aria-invalid="false"`
+
+ |
+
+ MSAA + IAccessible2 + | +Use WAI-ARIA mapping | +
UIA | +Use WAI-ARIA mapping | +
ATK | +Use WAI-ARIA mapping | +
AX | +Use WAI-ARIA mapping | +
Comments | ++ |
HTML Specification | +`ping` | +
---|---|
Element(s) | ++ `a` and `area` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`placeholder` | +
---|---|
Element(s) | ++ `input`; + `textarea` + | +
[[WAI-ARIA-1.2]] | ++ `aria-placeholder` + | +
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | +
+
+ When the `placeholder` and `aria-placeholder` attributes are both present, and the `placeholder` attribute's value is non-empty, user agents MUST expose the value of the
+ `placeholder` attribute, and ignore `aria-placeholder`. If the `placeholder` attribute's value is empty, then user agents MUST expose the value of the `aria-placeholder` attribute.
+
+ |
+
HTML Specification | +`playsinline` | +
---|---|
Element(s) | ++ `video` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`poster` | +
---|---|
Element(s) | ++ `video` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`preload` | +
---|---|
Element(s) | ++ `audio` and `video` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`readonly` | +
---|---|
Element(s) | ++ `input`; `textarea`; + form-associated custom elements + | +
[[WAI-ARIA-1.2]] | ++ `aria-readonly="true"` + | +
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | +If the element includes both the `readonly` attribute and the `aria-readonly` attribute with a valid value, User Agents MUST expose only the `readonly` attribute value. | +
HTML Specification | +`referrerpolicy` | +
---|---|
Element(s) | ++ `a`; `area`; + `iframe`; `img`; + `link`; + `script` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`rel` | +
---|---|
Element(s) | ++ `a`; `area`; + `link` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`required` | +
---|---|
Element(s) | ++ `input`; `select`; + `textarea` + | +
[[WAI-ARIA-1.2]] | ++ `aria-required` + | +
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | +
+ If the element includes both the `required` attribute and the `aria-required` attribute with a valid value, User Agents MUST expose only the `required` attribute value. ++ If an element is required, user agents MUST NOT expose the element with an intitial invalid state (`aria-invalid="true"`). The user agent SHOULD expose the invalid state only after 1) a user has purposefully interacted with a required element, or attempted to submit a form and + 2) the element, or elements, do not meet constraint validation. + +Until these conditions are met, user agents MUST expose the elements as (`aria-invalid="false"`). + |
+
HTML Specification | +`reversed` | +
---|---|
Element(s) | ++ `ol` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Reverses the numerical or alphabetical order of the child list item markers.
+ |
+
UIA | +
+ Reverses the numerical or alphabetical order of the child list item markers.
+ |
+
ATK | +
+ Reverses the numerical or alphabetical order of the child list item markers.
+ |
+
AX | +
+ Reverses the numerical or alphabetical order of the child list item markers.
+ |
+
Comments | ++ |
HTML Specification | +`rows` | +
---|---|
Element(s) | ++ `textarea` + | +
[[WAI-ARIA-1.2]] | +Not mapped | +
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`rowspan` | +
---|---|
Element(s) | ++ `td`; + `th` + | +
[[WAI-ARIA-1.2]] | ++ `aria-rowspan` + | +
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | +`sandbox` | +
---|---|
Element(s) | ++ `iframe` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`scope` | +
---|---|
Element(s) | ++ `th` + | +
[[WAI-ARIA-1.2]] | +
+ If `scope="row"` then map `th` to `rowheader`
+ If `scope="col"` then map `th` to `columnheader`
+ |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | +`selected` | +
---|---|
Element(s) | ++ `option` + | +
[[WAI-ARIA-1.2]] | ++ `aria-selected="true"` + | +
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | +If the element includes both the `selected` attribute and the `aria-selected` attribute with a valid value, User Agents MUST expose only the `selected` attribute value. | +
HTML Specification | +`shape` | +
---|---|
Element(s) | ++ `area` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`size` | +
---|---|
Element(s) | ++ `input`; + `select` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped for `input` elements.
+ If greater than 1, then creates a listbox accessible object. Refer to `select` element for details.
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped for `input` elements.
+ For `select` element use WAI-ARIA mapping.
+ |
+
UIA | +
+ Not mapped for `input` elements.
+ For `select` element use WAI-ARIA mapping.
+ |
+
ATK | +
+ Not mapped for `input` elements.
+ For `select` element use WAI-ARIA mapping.
+ |
+
AX | +
+ Not mapped for `input` elements.
+ For `select` element use WAI-ARIA mapping.
+ |
+
Comments | ++ For `input` elements that allow the `size` attribute, the attribute will modify their default width. A width provided by CSS will negate the effects of the `size` attribute on these + `input` elements. + | +
HTML Specification | +`sizes` | +
---|---|
Element(s) | ++ `link` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`sizes` | +
---|---|
Element(s) | ++ `img`; + `source` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`slot` | +
---|---|
Element(s) | ++ HTML elements + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`span` | +
---|---|
Element(s) | ++ `col`; + `colgroup` + | +
[[WAI-ARIA-1.2]] | +Not mapped | +
+ MSAA + IAccessible2 + | +
+ Exposed as `IAccessibleTableCell::columnExtent` on all cells at the column
+ |
+
UIA | +
+ Exposed as `GridItem.ColumnSpan` on all cells at the column
+ |
+
ATK | +
+ Exposed via `atk_table_get_column_extent_at`
+ |
+
AX | +
+ `AXColumnIndexRange.length: <value>`
+ |
+
Comments | ++ |
HTML Specification | +`spellcheck` | +
---|---|
Element(s) | ++ HTML elements + | +
[[WAI-ARIA-1.2]] | ++ `aria-invalid="spelling"` or `grammar` + | +
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | +`src` | +
---|---|
Element(s) | ++ `audio`; `embed`; + `iframe`; `img`; + `input`; `script`; + `source` (in `audio` or `video`); `track`; + `video` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+
+ Object attributes:
+ `src` on `img` only
+
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+
+ Object attributes:
+ `src` on `img` only
+
+ |
+
AX | +`AXURL: <value>` on `img` and `input type="image"` | +
Comments | ++ |
HTML Specification | +`srcdoc` | +
---|---|
Element(s) | ++ `iframe` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`srclang` | +
---|---|
Element(s) | ++ `track` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`srcset` | +
---|---|
Element(s) | ++ `img`; + `source` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not Mapped
+ |
+
Comments | ++ |
HTML Specification | +`start` | +
---|---|
Element(s) | ++ `ol` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Changes the first number of the child list item accessible objects to match the `start` attribute's value.
+ |
+
UIA | +
+ Changes the first number of the child list item accessible objects to match the `start` attribute's value.
+ |
+
ATK | +
+ Changes the first number of the child list item accessible objects to match the `start` attribute's value.
+ |
+
AX | +
+ Changes the first number of the child list item accessible objects to match the `start` attribute's value.
+ |
+
Comments | ++ |
HTML Specification | +`step` | +
---|---|
Element(s) | ++ `input` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +If the `input` is in the `Range` state, set both `RangeValue.SmallChange` and `RangeValue.LargeChange` to the value of `step`. | +
ATK | +
+ Exposed as `atk_value_get_minimum_increment` if the element implements the `AtkValue` interface.
+ |
+
AX | +Not mapped | +
Comments | ++ |
HTML Specification | +`style` | +
---|---|
Element(s) | ++ HTML elements + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`tabindex` | +
---|---|
Element(s) | ++ HTML elements + | +
[[WAI-ARIA-1.2]] | ++ See Focus States and Events Table + | +
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | ++ |
HTML Specification | +`target` | +
---|---|
Element(s) | ++ `a`; + `area` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`target` | +
---|---|
Element(s) | ++ `base` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`target` | +
---|---|
Element(s) | ++ `form` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`title` | +
---|---|
Element(s) | ++ HTML elements + | +
[[WAI-ARIA-1.2]] | +
+
+ Either the accessible name, or the accessible description, or Not
+ mapped (see Comments).
+
+ |
+
+ MSAA + IAccessible2 + | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX | +
+ Use WAI-ARIA mapping
+ |
+
Comments | +
+
+ The Accessible Name and Description Computation section specifies if the `title` attribute will be mapped and, if so,
+ through what [[WAI-ARIA]] property.
+
+ |
+
HTML Specification | +`title` | +
---|---|
Element(s) | ++ `abbr`; + `dfn` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Associates the accessible name
+ |
+
UIA | +
+ Associates the accessible name
+ |
+
ATK | +
+ Associates the accessible name
+ |
+
AX | +`AXExpandedTextValue: <value>` | +
Comments | ++ |
HTML Specification | +`title` | +
---|---|
Element(s) | ++ `link` + | +
[[WAI-ARIA-1.2]] | +Not mapped | +
+ MSAA + IAccessible2 + | +Not mapped | +
UIA | +Not mapped | +
ATK | +Not mapped | +
AX | +Not mapped | +
Comments | ++ |
HTML Specification | +`title` | +
---|---|
Element(s) | +`link`; `style` | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | +Provides the name for the CSS style sheet. | +
HTML Specification | +`translate` | +
---|---|
Element(s) | ++ HTML elements + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`type` | +
---|---|
Element(s) | ++ `a`; + `link` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`type` | +
---|---|
Element(s) | ++ `button` + | +
[[WAI-ARIA-1.2]] | +Not mapped | +
+ MSAA + IAccessible2 + | +
+ `submit` type may be a default button in the form.
+ |
+
UIA | +
+ `submit` type may be a default button in the form.
+ |
+
ATK | +
+ `submit` type may be a default button in the form.
+ |
+
AX | +
+ `submit` type may be a default button in the form.
+ |
+
Comments | ++ |
HTML Specification | +`type` | +
---|---|
Element(s) | ++ `embed`; `object`; + `script`; + `source` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`type` | +
---|---|
Element(s) | ++ `input` + | +
[[WAI-ARIA-1.2]] | +Refer to WAI-ARIA mappings for input types with defined ARIA roles. | +
+ MSAA + IAccessible2 + | +
+
+ Defines the accessible role, states and other properties, refer to type="`text`", type="`password`", type="`button`", etc
+
+ |
+
UIA | +
+
+ Defines the accessible role, states and other properties, refer to type="`text`", type="`password`", type="`button`", etc
+
+ |
+
ATK | +
+
+ Defines the accessible role, states and other properties, refer to type="`text`", type="`password`", type="`button`", etc
+
+ |
+
AX | +
+
+ Defines the accessible role, states and other properties, refer to type="`text`", type="`password`", type="`button`", etc
+
+ |
+
Comments | ++ |
HTML Specification | +`type` | +
---|---|
Element(s) | ++ `ol` + | +
[[WAI-ARIA-1.2]] | +Not mapped | +
+ MSAA + IAccessible2 + | +
+
+ Defines the list item marker, which has no accessible object, but is exposed as content in the accessible text of the associated list item.
+
+ Interfaces: `IAccessibleText2`
+ |
+
UIA | +
+
+ Defines the list item marker, which has no accessible object, but is exposed as content in the accessible text of the associated list item.
+
+ Control Pattern: `Text`
+ |
+
ATK | +
+
+ Defines the list item marker, which has no accessible object, but is exposed as content in the accessible text of the associated list item.
+
+ Interfaces: `ATKText`
+ |
+
AX | +
+ Defines the list item marker, which is exposed as content in `AXValue`, and rendered as an accessible object:
+ AXRole: `AXListMarker`
+ AXSubrole: `(nil)`
+ AXRoleDescription: `"list marker"`
+ |
+
Comments | +
+
+ Some platforms (IAccessible2, ATK, UIA) do not expose an accessible object for the list item marker, whether it was created and then pruned from the
+ accessibility tree, or never created in the first place. Instead, they expose the list item marker as part of the associated list item's accessible text. In
+ these cases, implementors need to consider such things as adjusting the offsets (e.g., for caret-moved events, text-selection events, etc.) for the updated list item text that now
+ also contains the list item marker as content, rather than just taking the offsets unmodified from the list item renderer.
+
+ |
+
HTML Specification | +`usemap` | +
---|---|
Element(s) | ++ `img` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Responsible for image map creation.
+ |
+
UIA | +
+ Responsible for image map creation.
+ |
+
ATK | +
+ Responsible for image map creation.
+ |
+
AX | +
+ Responsible for image map creation.
+ |
+
Comments | +Refer to `img` element. | +
HTML Specification | +`value` | +
---|---|
Element(s) | ++ `button`; + `option` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`value` | +
---|---|
Element(s) | ++ `data` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
HTML Specification | +`value` | +
---|---|
Element(s) | ++ `input` + | +
[[WAI-ARIA-1.2]] | +Not mapped | +
+ MSAA + IAccessible2 + | +
+
+ Associates the accessible value for entry type input elements and accessible name for button type input elements
+
+ |
+
UIA | +
+
+ Associates the accessible value for entry type input elements and accessible name for button type input elements
+
+ |
+
ATK | +
+
+ Associates the accessible value for entry type input elements and accessible name for button type input elements
+
+ |
+
AX | +`AXValue: <value>` | +
Comments | ++ |
HTML Specification | +`value` | +
---|---|
Element(s) | ++ `li` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Exposed as first text node of `li`'s accessible object.
+ |
+
UIA | +
+
+ Expose the value of the `value` attribute as the first text node in the list item. If the value of the `value` attribute is an integer, set the UIA `PositionInSet` property to the
+ integer value.
+
+ |
+
ATK | +
+ Exposed as first text node of `li`'s accessible object.
+ |
+
AX | +
+ Exposed as `AXValue: <value>` with accessible object:
+ AXRole: `AXListMarker`
+ AXSubrole: `(nil)`
+ AXRoleDescription: `list marker`
+ |
+
Comments | ++ |
HTML Specification | +`value` | +
---|---|
Element(s) | ++ `meter`; + `progress` + | +
[[WAI-ARIA-1.2]] | ++ `aria-valuenow` + | +
+ MSAA + IAccessible2 + | +
+ Exposed as `IAccessibleValue::currentValue`
+ |
+
UIA | +
+ Exposed as `Value.Value`
+ |
+
ATK | +
+ Exposed as `atk_value_get_current_value`
+ |
+
AX | +
+ `AXValue: <value>`
+ |
+
Comments | ++ |
HTML Specification | +`width` | +
---|---|
Element(s) | ++ `canvas`; `embed`; + `iframe`; `img`; + `input`; `object`; + `source` (in `picture`); + `video` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Defines an accessible object's width (`IAccessible::accLocation`)
+ |
+
UIA | +
+ Defines an accessible object's width (`BoundingRectangle`)
+ |
+
ATK | +
+ Defines an accessible object's width (`atk_component_get_size`)
+ |
+
AX | +
+ AXSize: w=n
+ |
+
Comments | ++ |
HTML Specification | +`wrap` | +
---|---|
Element(s) | ++ `textarea` + | +
[[WAI-ARIA-1.2]] | +
+ Not mapped
+ |
+
+ MSAA + IAccessible2 + | +
+ Not mapped
+ |
+
UIA | +
+ Not mapped
+ |
+
ATK | +
+ Not mapped
+ |
+
AX | +
+ Not mapped
+ |
+
Comments | ++ |
+ The terms accessible name and accessible description are properties provided in + all accessibility APIs. The name of the properties may differ across APIs but they serve the same function: as a container for a short (name) or longer (description) + string of text. +
++ The text alternative computation is used to generate both the accessible name and + accessible description. There are different rules provided for several different types of + elements, nodes, and combinations of markup. +
++ User Agents notify assistive technology when relevant accessibility information changes, sometimes by destroying and recreating the accessibility object, or sometimes by notifying of changes + to the object per the specified + name change event mappings and description change event mappings. +
+legend
element, then use the subtree of the first such element.
+ caption
element, then use the subtree of the first such element.
+ + The document referenced by the `src` of the `iframe` element gets its name from that document's `title` element, like any other document. If there is no `title` provided, there is no + accessible name. +
++ `abbr`, `b`, `bdi`, `bdo`, `br`, `cite`, `code`, `dfn`, `em`, `i`, `kbd`, `mark`, `q`, + `rp`, `rt`, `ruby`, `s`, `samp`, `small`, `strong`, + `sub` and `sup`, `time`, `u`, `var`, `wbr` +
++ An accessible description MAY be provided to any HTML element that is a valid child of the `body` element. The following list + represents the order of precedence for user agents to compute the accessible description of an element. As + defined by Accessible Name and Description Computation: Description Computation , user agents MUST + use the first applicable description source, even if its use results in an empty description. +
++ In accordance with Web Platform Design Principles, this specification provides no programmatic + interface to determine if information is being used by Assistive Technologies. However, this specification does allow an author to present different information to users of Assistive + Technologies from the information available to users who do not use Assistive Technologies. This is possible using many features of the ARIA and CORE-AAM specifications, just as this is + possible using many other parts of the web technology stack. This content disparity could be abused to perform + active fingerprinting of users of Assistive Technologies. +
+This specification introduces no new security considerations.
+Review the commit history of this document on GitHub.
+The following people contributed to the development of this document.
++ The MathML Accessibility API Mappings (MathML-AAM) specification defines how [=user agents=] map Mathematical Markup Language (MathML) [[MathML3]] to platform accessibility APIs. It + extends the Core Accessibility API Mappings (CORE-AAM) specification [[CORE-AAM-1.2]]. +
++ This specification is intended for user agent developers responsible for MathML accessibility in their product. The goal of this specification is to maximize the accessibility of MathML + content by ensuring each assistive technology receives MathML content with the roles, states, and [=ARIA/properties=] it expects. +
++ At the present time, this specification contains mappings for the subset of MathML contained in the MathML Core specification [[MathML-Core]]. The reason why is that this subset contains the + [=elements=] and [=attributes=] from MathML which are exposed to assistive technologies via platform accessibility APIs. +
++ The MathML-AAM is part of the WAI-ARIA suite described in the WAI-ARIA Overview. +
+This document is a work in progress.
++ To provide feedback, please create or comment on an issue in the W3C MathML Accessibility + API Mappings GitHub repository. If this is not feasible, send email to public-aria@w3.org. +
+The classification of a section as normative or non-normative applies to the entire section and all sub-sections of that section.
+Normative sections provide requirements that authors and user agents, and assistive technologies MUST follow for an implementation to conform to this specification.
++ Non-normative 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. +
+ +There are currently no deprecated requirements.
++ User agents MUST conform to General rules for exposing WAI-ARIA semantics + in [[!CORE-AAM-1.2]]. +
++ User agents MUST conform to Conflicts between native markup semantics and WAI-ARIA + in [[!CORE-AAM-1.2]]. +
+User agents MUST conform to Exposing attributes that do not directly map to accessibility API properties in [[!CORE-AAM-1.2]].
+MathML Specification | ++ `annotation` + | +
---|---|
[[wai-aria-1.1]] | +No corresponding role | +
MSAA + IAccessible2 | +TBD | +
UIA | +TBD | +
ATK | +
+ Role: ATK_ROLE_STATIC + Object Attribute: tag:annotation
+ |
+
AX API | +
+ AXRole: NSAccessibilityGroupRole + AXSubrole: TBD
+ |
+
MathML Specification | ++ `annotation-xml` + | +
---|---|
[[wai-aria-1.1]] | +No corresponding role | +
MSAA + IAccessible2 | +TBD | +
UIA | +TBD | +
ATK | +
+ Role: ATK_ROLE_SECTION + Object Attribute: tag:annotation-xml
+ |
+
AX API | +
+ AXRole: NSAccessibilityGroupRole + AXSubrole: TBD
+ |
+
MathML Specification | ++ `maction` + | +
---|---|
[[wai-aria-1.1]] | +No corresponding role | +
MSAA + IAccessible2 | +TBD | +
UIA | +TBD | +
ATK | +
+ Role: ATK_ROLE_SECTION + Object Attribute: tag:maction
+ |
+
AX API | +
+ AXRole: NSAccessibilityGroupRole + AXSubrole: TBD
+ |
+
MathML Specification | ++ `math` + | +
---|---|
[[wai-aria-1.1]] | +`math` role | +
MSAA + IAccessible2 | +
+ Use WAI-ARIA mapping
+ |
+
UIA | +
+ Use WAI-ARIA mapping
+ |
+
ATK | +
+ Use WAI-ARIA mapping
+ |
+
AX API | +
+ Use WAI-ARIA mapping
+ |
+
MathML Specification | ++ `merror` + | +
---|---|
[[wai-aria-1.1]] | +No corresponding role | +
MSAA + IAccessible2 | +TBD | +
UIA | +TBD | +
ATK | +
+ Role: ATK_ROLE_SECTION + Object Attribute: tag:merror
+ |
+
AX API | +
+ AXRole: NSAccessibilityGroupRole + AXSubrole: AXMathRow
+ |
+
MathML Specification | ++ `mfrac` + | +
---|---|
[[wai-aria-1.1]] | +No corresponding role | +
MSAA + IAccessible2 | +TBD | +
UIA | +TBD | +
ATK | +
+ Role: ATK_ROLE_MATH_FRACTION + Object Attribute: tag:mfrac
+ |
+
AX API | +
+ AXRole: NSAccessibilityGroupRole + AXSubrole: AXMathFraction + AXAttributes: AXMathFractionNumerator pointing to the first in-flow child+ AXMathFractionDenominator pointing to the second in-flow child
+
+ |
+
MathML Specification | ++ `mi` + | +
---|---|
[[wai-aria-1.1]] | +No corresponding role | +
MSAA + IAccessible2 | +TBD | +
UIA | +TBD | +
ATK | +
+ Role: ATK_ROLE_STATIC + Object Attribute: tag:mi
+ |
+
AX API | +
+ AXRole: NSAccessibilityGroupRole + AXSubrole: AXMathIdentifier
+ |
+
MathML Specification | ++ `mmultiscripts` + | +
---|---|
[[wai-aria-1.1]] | +No corresponding role | +
MSAA + IAccessible2 | +TBD | +
UIA | +TBD | +
ATK | +
+ Role: ATK_ROLE_SECTION + Object Attribute: tag:mmultiscripts
+ |
+
AX API | +
+ AXRole: NSAccessibilityGroupRole + AXSubrole: AXMathMultiscript + AXAttributes: +
|
+
MathML Specification | ++ `mn` + | +
---|---|
[[wai-aria-1.1]] | +No corresponding role | +
MSAA + IAccessible2 | +TBD | +
UIA | +TBD | +
ATK | +
+ Role: ATK_ROLE_STATIC + Object Attribute: tag:ms
+ |
+
AX API | +
+ AXRole: NSAccessibilityGroupRole + AXSubrole: AXMathNumber
+ |
+
MathML Specification | ++ `mo` + | +
---|---|
[[wai-aria-1.1]] | +No corresponding role | +
MSAA + IAccessible2 | +TBD | +
UIA | +TBD | +
ATK | +
+ Role: ATK_ROLE_STATIC + Object Attribute: tag:mo
+ |
+
AX API | +
+ AXRole: NSAccessibilityGroupRole + AXSubrole: AXMathOperator
+ |
+
MathML Specification | ++ `mover` + | +
---|---|
[[wai-aria-1.1]] | +No corresponding role | +
MSAA + IAccessible2 | +TBD | +
UIA | +TBD | +
ATK | +
+ Role: ATK_ROLE_SECTION + Object Attribute: tag:mover
+ |
+
AX API | +
+ AXRole: NSAccessibilityGroupRole + AXSubrole: AXMathUnderOver + AXAttributes: AXMathBase pointing to the first in-flow child AXMathOver pointing to the second in-flow child
+ |
+
MathML Specification | ++ `mpadded` + | +
---|---|
[[wai-aria-1.1]] | +No corresponding role | +
MSAA + IAccessible2 | +TBD | +
UIA | +TBD | +
ATK | +
+ Role: ATK_ROLE_SECTION + Object Attribute: tag:mpadded
+ |
+
AX API | +
+ AXRole: NSAccessibilityGroupRole + AXSubrole: TBD
+ |
+
MathML Specification | ++ `mphantom` + | +
---|---|
[[wai-aria-1.1]] | +No corresponding role | +
MSAA + IAccessible2 | +TBD | +
UIA | +TBD | +
ATK | +
+ Role: ATK_ROLE_SECTION + Object Attribute: tag:mphantom
+ |
+
AX API | +
+ AXRole: NSAccessibilityGroupRole + AXSubrole: AXMathRow
+ |
+
MathML Specification | ++ `mprescripts` + | +
---|---|
[[wai-aria-1.1]] | +No corresponding role | +
MSAA + IAccessible2 | +TBD | +
UIA | +TBD | +
ATK | +
+ Role: ATK_ROLE_SECTION + Object Attribute: tag:mprescripts
+ |
+
AX API | +Not mapped | +
MathML Specification | ++ `mroot` + | +
---|---|
[[wai-aria-1.1]] | +No corresponding role | +
MSAA + IAccessible2 | +TBD | +
UIA | +TBD | +
ATK | +
+ Role: ATK_ROLE_MATH_ROOT + Object Attribute: tag:mroot
+ |
+
AX API | +
+ AXRole: NSAccessibilityGroupRole + AXSubrole: AXMathRoot + AXAttributes: AXMathRootRadicand is an array containing the first in-flow child as its unique element,+ AXMathRootIndex pointing to the second in-flow child
+
+ |
+
MathML Specification | ++ `mrow` + | +
---|---|
[[wai-aria-1.1]] | +No corresponding role | +
MSAA + IAccessible2 | +TBD | +
UIA | +TBD | +
ATK | +
+ Role: ATK_ROLE_SECTION + Object Attribute: tag:mrow
+ |
+
AX API | +
+ AXRole: NSAccessibilityGroupRole + AXSubrole: AXMathRow
+ |
+
MathML Specification | ++ `ms` + | +
---|---|
[[wai-aria-1.1]] | +No corresponding role | +
MSAA + IAccessible2 | +TBD | +
UIA | +TBD | +
ATK | +
+ Role: ATK_ROLE_STATIC + Object Attribute: tag:ms
+ |
+
AX API | +
+ AXRole: NSAccessibilityGroupRole + AXSubrole: nil
+ |
+
MathML Specification | ++ `mspace` + | +
---|---|
[[wai-aria-1.1]] | +No corresponding role | +
MSAA + IAccessible2 | +TBD | +
UIA | +TBD | +
ATK | +Not mapped | +
AX API | +Not mapped | +
MathML Specification | ++ `msqrt` + | +
---|---|
[[wai-aria-1.1]] | +No corresponding role | +
MSAA + IAccessible2 | +TBD | +
UIA | +TBD | +
ATK | +
+ Role: ATK_ROLE_MATH_ROOT + Object Attribute: tag:mroot
+ |
+
AX API | +
+ AXRole: NSAccessibilityGroupRole + AXSubrole: AXMathSquareRoot + AXAttributes: AXMathRootRadicand is an array containing the in-flow children
+ |
+
MathML Specification | ++ `mstyle` + | +
---|---|
[[wai-aria-1.1]] | +No corresponding role | +
MSAA + IAccessible2 | +TBD | +
UIA | +TBD | +
ATK | +
+ Role: ATK_ROLE_SECTION + Object Attribute: tag:mstyle
+ |
+
AX API | +
+ AXRole: NSAccessibilityGroupRole + AXSubrole: AXMathRow
+ |
+
MathML Specification | ++ `msub` + | +
---|---|
[[wai-aria-1.1]] | +No corresponding role | +
MSAA + IAccessible2 | +TBD | +
UIA | +TBD | +
ATK | +
+ Role: ATK_ROLE_SECTION + Object Attribute: tag:msub
+ |
+
AX API | +
+ AXRole: NSAccessibilityGroupRole + AXSubrole: AXMathSubscriptSuperscript + AXAttributes: AXMathBase pointing to the first in-flow child+ AXMathSubscript pointing to the second in-flow child
+
+ |
+
MathML Specification | ++ `msubsup` + | +
---|---|
[[wai-aria-1.1]] | +No corresponding role | +
MSAA + IAccessible2 | +TBD | +
UIA | +TBD | +
ATK | +
+ Role: ATK_ROLE_SECTION + Object Attribute: tag:msubsup
+ |
+
AX API | +
+ AXRole: NSAccessibilityGroupRole + AXSubrole: AXMathSubscriptSuperscript + AXAttributes: AXMathBase pointing to the first in-flow child AXMathSubscript pointing to the second in-flow child+ AXMathSuperscript pointing to the third in-flow child
+
+ |
+
MathML Specification | ++ `msup` + | +
---|---|
[[wai-aria-1.1]] | +No corresponding role | +
MSAA + IAccessible2 | +TBD | +
UIA | +TBD | +
ATK | +
+ Role: ATK_ROLE_SECTION + Object Attribute: tag:msup
+ |
+
AX API | +
+ AXRole: NSAccessibilityGroupRole + AXSubrole: AXMathSubscriptSuperscript + AXAttributes: AXMathBase pointing to the first in-flow child+ AXMathSuperscript pointing to the second in-flow child
+
+ |
+
MathML Specification | ++ `mtable` + | +
---|---|
[[wai-aria-1.1]] | +No corresponding role | +
MSAA + IAccessible2 | +TBD | +
UIA | +TBD | +
ATK | +
+ Role: ATK_ROLE_TABLE + Object Attribute: tag:mtable + Interface(s): AtkTable
+ |
+
AX API | +
+ AXRole: NSAccessibilityGroupRole + AXSubrole: AXMathTable
+ |
+
MathML Specification | ++ `mtd` + | +
---|---|
[[wai-aria-1.1]] | +No corresponding role | +
MSAA + IAccessible2 | +TBD | +
UIA | +TBD | +
ATK | +
+ Role: ATK_ROLE_TABLE_CELL + Object Attribute: tag:mtd + Interface(s): AtkTableCell
+ |
+
AX API | +
+ AXRole: NSAccessibilityGroupRole + AXSubrole: AXMathTableCell
+ |
+
MathML Specification | ++ `mtext` + | +
---|---|
[[wai-aria-1.1]] | +No corresponding role | +
MSAA + IAccessible2 | +TBD | +
UIA | +TBD | +
ATK | +
+ Role: ATK_ROLE_STATIC + Object Attribute: tag:mtext
+ |
+
AX API | +
+ AXRole: NSAccessibilityGroupRole + AXSubrole: AXMathText
+ |
+
MathML Specification | ++ `mtr` + | +
---|---|
[[wai-aria-1.1]] | +No corresponding role | +
MSAA + IAccessible2 | +TBD | +
UIA | +TBD | +
ATK | +
+ Role: ATK_ROLE_TABLE_ROW + Object Attribute: tag:mtr
+ |
+
AX API | +
+ AXRole: NSAccessibilityGroupRole + AXSubrole: AXMathTableRow
+ |
+
MathML Specification | ++ `munder` + | +
---|---|
[[wai-aria-1.1]] | +No corresponding role | +
MSAA + IAccessible2 | +TBD | +
UIA | +TBD | +
ATK | +
+ Role: ATK_ROLE_SECTION + Object Attribute: tag:munder
+ |
+
AX API | +
+ AXRole: NSAccessibilityGroupRole + AXSubrole: AXMathUnderOver + AXAttributes: AXMathBase pointing to the first in-flow child+ AXMathUnder pointing to the second in-flow child
+
+ |
+
MathML Specification | ++ `munderover` + | +
---|---|
[[wai-aria-1.1]] | +No corresponding role | +
MSAA + IAccessible2 | +TBD | +
UIA | +TBD | +
ATK | +
+ Role: ATK_ROLE_SECTION + Object Attribute: tag:munderover
+ |
+
AX API | +
+ AXRole: NSAccessibilityGroupRole + AXSubrole: AXMathUnderOver + AXAttributes: AXMathBase pointing to the first in-flow child+ AXMathUnder pointing to the second in-flow child+ AXMathOver pointing to the third in-flow child
+
+ |
+
MathML Specification | ++ `none` + | +
---|---|
[[wai-aria-1.1]] | +No corresponding role | +
MSAA + IAccessible2 | +TBD | +
UIA | +TBD | +
ATK | +
+ Role: ATK_ROLE_SECTION + Object Attribute: tag:none
+ |
+
AX API | +
+ AXRole: TBD + AXSubrole: TBD
+ |
+
MathML Specification | ++ `semantics` + | +
---|---|
[[wai-aria-1.1]] | +No corresponding role | +
MSAA + IAccessible2 | +TBD | +
UIA | +TBD | +
ATK | +
+ Role: ATK_ROLE_SECTION + Object Attribute: tag:semantics
+ |
+
AX API | +
+ AXRole: NSAccessibilityGroupRole + AXSubrole: TBD
+ |
+
The following people contributed to the development of this document.
+ + ++ SVG Accessibility API Mappings (SVG-AAM) defines how + user agents map Scalable Vector Graphics (SVG) [[!SVG2]] markup to platform + accessibility application programming interfaces (APIs). It is intended for SVG user + agent developers responsible for SVG accessibility in their user agent. +
++ This specification allows SVG authors to create accessible rich internet applications, including charts, graphs, and other drawings. It does this by extending the + Core Accessibility API Mappings 1.1 (CORE-AAM) [[!CORE-AAM]] and the + Accessible Name and Description: Computation and API Mappings 1.1 (ACCNAME-AAM) [[!ACCNAME-AAM]] specifications for user agents. It + leverages those core mappings and provides SVG-specific guidance to define how the SVG user agent must respond to keyboard focus and role, + state, and property attributes provided in Web content via + WAI-ARIA + [[!WAI-ARIA]]. The SVG-AAM also adapts the ACCNAME-AAM to make use of standard SVG features used to compute accessible names and description information exposed by platform accessibility + APIs. +
++ The SVG-AAM is part of the + WAI-ARIA suite described in the + WAI-ARIA Overview. +
+This document is a work in progress.
++ To provide feedback, please create or comment on an issue in the W3C SVG Accessibility API + Mappings GitHub repository. If this is not feasible, send email to www-svg@w3.org (email archive). In-progress updates to the document may be viewed in the publicly visible editors' draft. +
+Particularly problematic open issues are highlighted in this document, with links to the GitHub discussion. Comments on these issues would be particularly appreciated.
+Relative to the last published working draft (8 September 2016), the following major changes have been made:
+use
element shadow DOM content has changed.In addition, there have been numerous clarifying edits.
++ This document was initially developed jointly by the Accessible Rich Internet Applications Working Group and the + SVG Working Group, through the + SVG Accessibility Task Force. It continues to be produced in coordination with other + specifications developed by the ARIA Working Group. +
++ This specification defines how SVG host language elements and content — with or without WAI-ARIA roles, states, and properties + applied — map to accessibility APIs. Sections give guidance on calculating text alternatives, mapping actions to + events, event processing, special document handling procedures, and error handling. +
++ This introduction provides some background on why this specification exists, and how it relates to other WAI-ARIA specifications. It includes a general overview of accessibility + APIs and the hierarchy of accessible objects known as the + accessibility tree. +
++ In traditional Graphical User Interface (GUI) applications, components of the User Interface (UI) are displayed when needed and hidden when not needed based on user interactions. + Accessibility APIs are used to communicate + semantics + about the user interface to + assistive technologies + used by people with disabilities. +
++ These APIs constitute a contract between applications and assistive technologies, such as screen readers, magnifiers, alternate input + devices, and speech command and control, to enable them to access the appropriate semantics needed to produce a usable alternative to interactive applications or complex documents. For + example, screen-reading software for blind users can determine whether a particular UI component is a menu, button, text field, list box, etc. It can also + present the information in tables or lists in a way that provides context for each piece of text. +
++ For web documents and applications, the essential semantic information is encapsulated within the Document Object Model (DOM). Assistive + technologies obtain this information from the user agent (web browser), which maps elements and attributes to the platform Accessibility + API. +
++ In Scalable Vector Graphics (SVG) documents, most SVG elements + do not provide semantic information of value to assistive technologies. Instead, they represent low-level vector graphics drawing directives. That element only has meaning to assistive + technologies if the author provides alternative text, descriptions, or WAI-ARIA semantics. +
+
+ Both version 1 [[SVG1]] and version 1.1 [[SVG11]] of the SVG specifications included elements for defining accessible names and
+ descriptions (<title>
and <desc>
). However, prior to this specification, there was no normative guidance as to
+ how user agents should expose this information to assistive technologies, or how to integrate it with host languages and validators that support WAI-ARIA. There was similarly no guidance on
+ how user agents should make interactive SVG keyboard accessible.
+
+ SVG 2 now incorporates keyboard navigation based on the established model from HTML 5. The user agent provides sequential focus navigation to
+ SVG elements that are interactive by default (links and audio/video elements with controls), or that the author has indicated may receive focus
+ (through the use of tabindex
attribute). Focus may also be set or removed programmatically by scripts, so that authors may implement more complex keyboard focus patterns.
+
+ SVG closely aligns with the core DOM Standard [[DOM]], supporting JavaScript manipulation of the graphic in interactive environments. Through the use of JavaScript, + CSS, and related APIs, authors can make SVG look and behave as an interactive application, to produce rich interactive charts and drawings. +
++ To allow the author to express and dynamically update their intended semantics in both static and interactive graphics, SVG 2 supports the use of + WAI-ARIA roles, states, and properties. Authors may include + WAI-ARIA attributes in their markup and user agents will translate it to the platform accessibility + APIs. +
++ WAI-ARIA enables rich SVG-drawn Internet applications to have the same accessibility features as + GUI applications installed on their operating system. In complex static graphics, WAI-ARIA provides the missing document structure that is + provided in HTML by semantic elements. +
++ For an introduction to WAI-ARIA, see the + WAI-ARIA Overview. +
++ The SVG Accessibility API Mappings specification (this document) defines how WAI-ARIA features interact with the native semantics + of the SVG language. It is part of a set of resources that define and support the WAI-ARIA specification, including the following + documents: +
++ This guide relies heavily on the accessibility API mappings defined in the + Core Accessibility API Mappings + and + Accessible Name and Description + specifications ([[CORE-AAM]] and [[ACCNAME-AAM]]) but defines changes in mappings due to features in the SVG host language [[SVG2]]. Key areas of difference stem from the intrinsic host + language semantics of SVG: +
++ To provide access to GUI applications, software applications expose the necessary information needed by + assistive technologies to interoperate with it through + accessibility APIs. The accessibility information exposed through the + accessibility APIs must be maintained throughout the applications lifecycle. +
++ In Web pages the Document Object Model (DOM) is used to represent the structure and state of the elements in + the document being rendered by a user agent. The elements of the document are organized into a hierarchy of nodes known as the + DOM tree. User agents map DOM to accessibility + APIs, in the same way desktop applications map UI components. The information provided to the accessibility API is used to support + assistive technologies, with the expectation that the information passed from the DOM matches the semantic intent of the author. The author may communicate this semantic intent by using + native features of the document language or by using WAI-ARIA, if native features are not available. +
++ Authors use SVG to create a broad range of applications and drawings. The information needed to support accessibility APIs in + SVG comes from a combination of semantics from the elements themselves but also the additional semantics provided by + WAI-ARIA and the modular extensions to WAI-ARIA supported by this + specification. +
++ A screen reader or other assistive technology uses the semantic information exposed via the accessibility API + to provide an alternative rendering of an application that is meaningful to a user. +
++ Accessibility APIs + supported by this document (and the other specifications it extends) are: +
++ 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. +
++ The accessibility tree and the DOM tree are parallel structures. Roughly speaking, the + accessibility tree is a subset of the flattened DOM tree, which is then augmented to include the user interface + objects of the user agent + as well as the objects of the document. +
++ Accessible objects are created in the accessibility tree for every DOM + element + that should be exposed to an + assistive technology. An element could be exposed because it may fire an accessibility event or + because it has a property, relationship or feature which needs to be exposed. +
+
+ Generally, if a DOM element can be omitted from the accessibility tree without affecting meaning, it will be, for reasons of performance and simplicity. For example, a
+ <span>
with just a style change and no semantics
+ may not get its own accessible object, but the style change will be exposed by other means.
+
+ This specification marks certain sections as non-normative, also called informative. The classification applies to the entire section. All other + sections provide normative requirements. A statement "This section is non-normative" applies to all its sub-sections, unless otherwise indicated. In + addition, all text boxes labelled "Note" are informative. +
+
+ Normative sections provide requirements that
+ user agents must follow for an implementation to conform to this specification. The keywords MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD,
+ RECOMMENDED, MAY, and OPTIONAL in this document are to be interpreted as described in
+ Keywords for use in RFCs to indicate requirement levels [[rfc2119]]. RFC-2119 keywords are formatted in uppercase and
+ contained in an element with class="rfc2119"
. When the keywords shown above are used, but do not share this format, they do not convey formal information in the RFC 2119 sense,
+ and are merely explanatory, i.e., informative. As much as possible, such usages are avoided in this specification.
+
+ Informative sections and notes 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. +
++ Enabling keyboard navigation in web applications is a necessary step toward making accessible web applications possible. Not only is the keyboard the primary input device for many users, but + other accessibile input devices use keyboard events to communicate with the user agent. +
+
+ The Scalable Vector Graphics (SVG) 1 [[SVG1]] and 1.1 [[SVG11]] specifications included only very limited keyboard support (access keys for animations). Many user agents implemented tabbed
+ focus for links, but there was no declarative or scripted means for authors to control this behavior. Scalable Vector Graphics (SVG) 2 [[SVG2]] introduces keyboard navigation and focus control
+ based on the HTML tabindex
model.
+
+ Conforming user agents MUST conform to + Supporting Keyboard Navigation + requirements in the Core Accessibility API Mappings [[!CORE-AAM]]. +
+ +The SVG Accessibility Task Force intends to develop more detailed guidelines for authors and user agents regarding navigation in graphical documents.
++ WAI-ARIA support was formally introduced to SVG in Scalable Vector Graphics (SVG) 2 [[SVG2]], which allows ARIA attributes to be used + in the default namespace. This section defines how WAI-ARIA semantics are exposed to assistive technologies through platform Accessibility + APIs and how SVG elements are mapped to Accessibility APIs based on WAI-ARIA. +
+ ++ SVG user agents MUST conform to General rules for exposing WAI-ARIA semantics in the Core Accessibility + API Mappings [[!CORE-AAM]], with the additions described in the following sub-sections. +
+ ++ Certain elements in the DOM are not exposed via the + accessibility API. The section Excluding Elements from the Accessibility Tree + of the Core Accessibility API Mappings [[CORE-AAM]] outlines the general rules for excluding elements. One factor is whether host language semantics specify that the element should not be + displayed. +
++ The SVG language defines numerous elements that fit this criteria. Many SVG elements are never directly rendered to the screen, while others may or may not be rendered or displayed, + depending on context or CSS styling. Elements which are neither perceivable nor interactive should not be included in the accessibility tree exposed to accessibility + APIs. This section details the expected interpretation of SVG host language semantics. +
+The other factors for excluding elements, as described in the Core Accessibility API Mappings, can be summarized as follows:
+none
or
+ presentation
, the element must not be exposed.
+ aria-hidden
value of true
, it should not be exposed.
+ button
and
+ img
+ exclude all child content from being directly included in the accessibility tree.
+
+ However, note that a number of features of an element, such as interactivity, can cause
+ an author-supplied or inherited role of none
or presentation
to be ignored as an error.
+ An element will not be excluded if it can currently receive focus based on user interaction.
+
Consult the original document ([[CORE-AAM]]) for the normative text.
+
+ Elements which are never directly rendered to screen, nor represented by an interactive region in a graphic, do not need a corresponding accessible object. User agents
+ MUST NOT include any elements, or their descendant content, as an accessible object in the
+ accessibility tree that are indicated as no accessible object created
in the
+ SVG Element Mapping Tables. User agents SHOULD also exclude any other element defined by past or future SVG
+ specifications or modules that specifically indicate the element is never directly rendered.
+
+ For example, elements that represent filters, gradients, or gradient stops will never create an accessible object. Shape elements or image elements that are included in an SVG definitions
+ section or as part of a pattern will also not have accessible objects, because the semantics of the ancestor
+ defs
or pattern
element preclude that entire DOM subtree from being represented in the accessibility tree.
+
+ Elements that are excluded from the accessibility tree might still be used in the name and description computation of another element,
+ as defined in the Name and Description section. Non-rendered elements may also be used as the templates for rendered element instances created by a
+ use
element, as described in the section on Use-Element Shadow Trees.
+
+ Although they are not directly included in the accessibility tree, animation and view elements can affect the accessible objects representing their target elements, as described under + Special Processing Requiring Additional Computation. +
+
+ In addition, SVG 1.1 [[SVG11]] defines the conditional processing attributes
+ systemLanguage
, requiredExtensions
, and requiredFeatures
. These may be used individually or in combination with the switch
element to
+ prevent content from being rendered under certain conditions, or to select between alternate versions of content.
+
+ SVG user agents MUST NOT expose to accessibility APIs any elements that are not rendered because of conditional processing attributes on that element or
+ because of the position of that element within a switch construct. The switch
element itself SHOULD be omitted as if it had a role of
+ none
or presentation
.
+
+ The rendering of SVG elements is also affected by CSS styling properties, which may be specified using stylesheet rules, inline styles, presentation attributes, or animations. Regardless
+ of how the style property is specified, the effect depends on the final computed value determined by the CSS cascade [[CSS-CASCADE-3]]. User agents
+ MUST NOT expose to accessibility APIs any element that is not rendered because its computed style includes a value of none
for the
+ display
property.
+
+ Other style properties can prevent an element, which is otherwise part of the rendering tree, from creating any visible representation in the rendered graphic. Such elements may still be + interactive; they may receive keyboard focus or they may be associated with a region of the graphic that is responsive to pointer input events. +
+
+ For the purpose of SVG, an element is considered hidden if it is neither visible, according to the computed value of the
+ visibility
property, nor interactive to pointer users. according to the
+ pointer-events
property. User agents SHOULD NOT
+ expose to accessibility APIs any element that is hidden in this sense,
+ unless the author explicitly overrides the hiding by setting the aria-hidden
attribute to false
.
+
+ In the case of container elements (such as g
or svg
), the element is not considered hidden if any of its descendent content is visible or can
+ receive user events, regardless of the computed value of visibility
on the element itself. Similarly, a use
element may include visible or interactive component
+ graphics, despite having style properties that would cause an individual shape element to be hidden. The use
element MUST be considered visible or interactive if any elements
+ within its shadow tree are visible or interactive. (The container or the use
element may, however, still be considered presentational if it does not have any other reason to
+ include it in the accessibility tree.) A shape element with markers is visible or interactive if any of its markers are visible or interactive.
+
+ In HTML and in other CSS-styled documents, elements made invisible with visibility: hidden
are always hidden elements for accessibility purposes, equivalent to un-rendered
+ elements (such as those with display: none
).
+
For SVG, this is not always appropriate, because of the interaction with the pointer-events
property.
+ In many cases, the invisible elements are of semantic importance (because they are interactive) while visible elements are presentational only. For example, large invisible elements are + often used to provide easy-to-hit targets for points in a map or datachart. Because these elements react to pointer events, they are effectively perceivable to pointer users, and should + be perceivable and interactive to users of assistive technologies as well. +
+
+ An SVG element with a computed value of visibility: hidden
+ can be interactive to pointer users for the following values of the
+ pointer-events
property:
+
painted
, for any rendered element except shape or a text where both the fill
and stroke
properties have a computed value of
+ none
+ fill
stroke
all
bounding-box
+ An element that is currently positioned off-screen, or that is obscured by other elements, is not considered hidden. User agents should expose this state through other means, as described + in the State and Property Mapping + section of the Core Accessibility API Mappings [[CORE-AAM]]. +
+ ++ Various other style properties and geometric attributes (of an element itself or an ancestor element) can make an element invisible. For simplicity, flexibility, and performance reasons, + these are not considered a hiding method that excludes elements from the accessibility tree. +
+
+ When using properties other than display
or visibility
to hide inactive content, authors can use the
+ aria-hidden
attribute to indicate that assistive technologies should ignore the element and its descendents.
+
+ Previous drafts of this specification also considered the
+ fill
and stroke
properties, when both set to a value of none
, as a valid way to hide an element. This has been removed as it introduced excessive
+ complexity. Some SVG elements (e.g., embedded images) are not affected by stroke and fill; even those that are can be visible without it, because of markers or filter effects.
+ Furthermore, it could result in identical-looking graphics (for example: one that used fill: transparent
instead of fill: none
) having markedly different
+ accessibility trees.
+
+ Note, however, that the fill
and stroke
properties may still have an indirect effect on the inclusion of an element, depending on the value of the
+ pointer-events
property.
+
+ The strict exclusion of non-rendered metadata elements, including desc
, from the accessibility tree means that their content will only be available as plain text, not as
+ structured alternative representations that a user can navigate in browsing mode.
+
+ This contradicts the original intent of the SVG specifications, which allows these elements to include structured content, including HTML-namespaced content. The SVG 1 specifications had + suggested that this could be alternatively presented as CSS-formated XML text, but this is not supported by the user agent/assistive technology combinations currently in use. +
++ The editors welcome feedback and suggestions (in GitHub Issue #6) on alternative ways to represent this hidden alternative content + in a way consistent with user agent and accessibility API implementations. +
++ Many SVG elements—although rendered to the screen—do not have an intrinsic semantic meaning. Instead, they represent components of the visual presentation of the document. To + simplify the accessible representation of the document, these purely presentational elements should normally be omitted from the accessibility tree, unless the author explicitly provides + semantic content. +
++ However, any rendered SVG element may have semantic meaning. Authors indicate the significance of the element by including alternative text content or + WAI-ARIA attributes. This section defines the rules for including normally-omitted elements in the accessibility tree. +
++ The following graphical and container elements in the SVG namespace + SHOULD NOT be included in the accessibility tree, except as described in this section: +
+circle
,
+ ellipse
, line
, path
, polygon
, polyline
, rect
)
+ use
elementg
) elementimage
elementmesh
elementtextPath
,
+ tspan
)
+ foreignObject
element
+ Although these elements are omitted from the accessibility tree, their child content
+
+ is still processed, as if it was a direct child of the nearest ancestor node in the DOM tree that is included in the accessibility tree. In other words, the markup elements are treated as
+ if they had a role of none
or presentation
.
+
+ For use
elements, the elements and text in their associated shadow tree MUST be processed as if it was child content of the use
element, following the conditions
+ specified in processing requiring additional computation. This means that elements from the shadow tree can be included in the accessibility tree
+ even if the use
element itself has a (default or author-supplied) role of presentation
.
+
+ SVG user agents MUST provide an accessible object in the accessibility tree for rendered SVG elements that meet any of the following criteria, + unless they are excluded from the accessibility tree per the rules in Excluding Elements from the Accessibility Tree: +
+none
or
+ presentation
.
+ + At the time of drafting this document, those criteria are as follows: + +
+aria-activedescendant
attribute that matches the implicit or explicit semantics of
+ the required context role. In either case, the element may receive focus and need to fire a FOCUS
event.
+ aria-hidden
="true"
. (See Excluding Elements in the Accessibility Tree for additional guidance on
+ aria-hidden
.)
+ aria-controls
, aria-describedby
, aria-flowto
, aria-labelledby
or aria-owns
) and are not hidden.
+ The latest version of the source document [[CORE-AAM]] should be consulted for the normative text.
+
+ The exception for hidden elements means that SVG metadata elements or other non-rendered content may be used in the accessible name and description of another element without themselves
+ being included in the accessiblity tree. For example, current best practice for fallback browser support is to use aria-labelledby
and aria-describedby
+ to redundantly link to
+ title
and desc
child elements. Including these elements as separate nodes in the tree would unnecessarily complicate the document presented to screen reader
+ users.
+
+ Interactive elements are covered by the requirement regarding elements that may fire an Accessibility API event. Specifically, for SVG the following elements are interactive and MUST be + included in the accessibility tree, without exception, regardless of whether they would otherwise be considered hidden or presentational: +
+tabindex
attribute, or which is focusable by default and has not been removed from the tab order
+ with a negative integer tabindex
attribute, which may receive keyboard focus and therefore keyboard input events.
+
+ With regards to pointer events, which bubble up the DOM tree, the exact element that receives the event may not have semantic meaning (that is, it may still be presentational). However,
+ the ability to receive pointer events overrides any exclusion based on the visibility: hidden
style property.
+
+ The tabindex
attribute and the pointer-events
property have no impact on elements which are not rendered at all, because of the
+ display: none
property or because of host language semantics.
+
+ SVG user agents MUST conform to + Conflicts between native markup semantics and WAI-ARIA in the Core Accessibility API Mappings [[!CORE-AAM]] where the host language is + SVG and the native semantics are as described in the SVG Element Mapping Tables, the + State and Property Mapping section, and the Special Processing Requiring Additional Computation section. +
++ Elements for which no accessible object is created and no role may be applied, as defined in the SVG Element Mapping Tables, have no implicit role + semantics. The + ‘aria-roledescription’ + attribute MUST NOT be exposed on these elements. All other SVG elements have implicit role semantics when used with global WAI-ARIA attributes, including + ‘aria-roledescription’. +
++ SVG user agents MUST conform to + Exposing attributes that do not directly map to accessibility API properties in + the Core Accessibility API Mappings [[!CORE-AAM]]. +
++ Platform accessibility APIs traditionally have had a finite set of predefined + roles that are expected by assistive technologies + on that platform and only one or two roles may be exposed. +
++ WAI-ARIA + only supports one active role at a time. However, multiple roles may be specified as an ordered set of space-separated valid role tokens. The additional roles are fallback roles, similar to + the concept of specifying multiple font families in case the first choice font is not supported. This allows the role taxonomy to be extended in future for specialized applications. The entire + role string is exposed to accessibility technologies where possible, so they can respond appropriately even if there is no equivalent role in the platform + API. +
+ ++ SVG user agents MUST conform to the Role Mapping General Rules accessibility API computational requirements + in the Core Accessibility API Mappings [[!CORE-AAM]]. +
+
+ This section defines how elements in SVG2 map to WAI-ARIA roles and platform accessibility APIs based on their native host language semantics, including which WAI-ARIA roles may be applied.
+ This section refers directly to both the
+ Role Mappings
+ in the Core Accessibility API Mappings [[!CORE-AAM]] specification and the Role Mappings
in the Graphics Accessibility
+ API Mappings [[!GRAPHICS-AAM]] specification, which define how WAI-ARIA roles are mapped to platform accessibility APIs.
+
a
SVG Specification | +
+ a
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +
+ link role if the element has a valid href or xlink:href attribute. For a elements
+ that are not links, use the mapping for tspan if the a element is a descendent of text , or the mapping for g otherwise.
+ |
+
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +
+ any role; see the Core Accessibility API Role Mappings and the
+ Graphics Accessibility API Role Mappings
+ |
+
animate
SVG Specification | +
+ animate
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
animateMotion
SVG Specification | +
+ animateMotion
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
animateTransform
SVG Specification | +
+ animateTransform
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
audio
SVG Specification | +
+ audio
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | ++ Follow the recommendations for the HTML audio element + in the HTML Accessibility API Mappings specification [[!HTML-AAM]]. + | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +
+ application role
+ |
+
canvas
SVG Specification | +
+ canvas
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | ++ Follow the recommendations for the HTML canvas element + in the HTML Accessibility API Mappings specification [[!HTML-AAM]]. + | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +
+ any role; see the Core Accessibility API Role Mappings and the
+ Graphics Accessibility API Role Mappings
+ |
+
circle
SVG Specification | +
+ circle
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +
+ graphics-symbol role mapping if the element meets the criteria for
+ Including Elements in the Accessibility Tree; otherwise, no accessible object created
+ |
+
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +
+ any role; see the Core Accessibility API Role Mappings and the
+ Graphics Accessibility API Role Mappings
+ |
+
clipPath
SVG Specification | +
+ clipPath
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created, for this element or any child content | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
cursor
SVG Specification | +
+ cursor
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created, for this element or any child content | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
defs
SVG Specification | +
+ defs
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created, for this element or any child content | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
desc
SVG Specification | +
+ desc
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | ++ no accessible object created, for this element or any child content; see + Name and Description mapping + | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
discard
SVG Specification | +
+ discard
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
ellipse
SVG Specification | +
+ ellipse
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +
+ graphics-symbol role mapping if the element meets the criteria for
+ Including Elements in the Accessibility Tree; otherwise, no accessible object created
+ |
+
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +
+ any role; see the Core Accessibility API Role Mappings and the
+ Graphics Accessibility API Role Mappings
+ |
+
feBlend
SVG Specification | +
+ feBlend
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
feColorMatrix
SVG Specification | +
+ feColorMatrix
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
feComponentTransfer
SVG Specification | +
+ feComponentTransfer
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
feComposite
SVG Specification | +
+ feComposite
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
feConvolveMatrix
SVG Specification | +
+ feConvolveMatrix
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
feDiffuseLighting
SVG Specification | +
+ feDiffuseLighting
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
feDisplacementMap
SVG Specification | +
+ feDisplacementMap
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
feDistantLight
SVG Specification | +
+ feDistantLight
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
feDropShadow
SVG Specification | +
+ feDropShadow
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
feFlood
SVG Specification | +
+ feFlood
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
feFuncA
SVG Specification | +
+ feFuncA
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
feFuncB
SVG Specification | +
+ feFuncB
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
feFuncG
SVG Specification | +
+ feFuncG
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
feFuncR
SVG Specification | +
+ feFuncR
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
feGaussianBlur
SVG Specification | +
+ feGaussianBlur
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
feImage
SVG Specification | +
+ feImage
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
feMerge
SVG Specification | +
+ feMerge
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
feMergeNode
SVG Specification | +
+ feMergeNode
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
feMorphology
SVG Specification | +
+ feMorphology
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
feOffset
SVG Specification | +
+ feOffset
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
fePointLight
SVG Specification | +
+ fePointLight
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
feSpecularLighting
SVG Specification | +
+ feSpecularLighting
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
feSpotLight
SVG Specification | +
+ feSpotLight
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
feTile
SVG Specification | +
+ feTile
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
feTurbulence
SVG Specification | +
+ feTurbulence
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
filter
SVG Specification | +
+ filter
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
foreignObject
SVG Specification | +
+ foreignObject
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +
+ group role mapping if the element meets the criteria for
+ Including Elements in the Accessibility Tree; otherwise, no accessible object created
+ |
+
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +
+ any role; see the Core Accessibility API Role Mappings and the
+ Graphics Accessibility API Role Mappings
+ |
+
g
SVG Specification | +
+ g
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +
+ group role mapping if the element meets the criteria for
+ Including Elements in the Accessibility Tree; otherwise, no accessible object created
+ |
+
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +
+ any role; see the Core Accessibility API Role Mappings and the
+ Graphics Accessibility API Role Mappings
+ |
+
hatch
SVG Specification | +
+ hatch
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
hatchPath
SVG Specification | +
+ hatchPath
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
iframe
SVG Specification | +
+ iframe
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | ++ Follow the recommendations for the HTML iframe element + in the HTML Accessibility API Mappings specification [[!HTML-AAM]]. + | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +
+ application , document , img
+ |
+
image
SVG Specification | +
+ image
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +
+ img role mapping if the element meets the criteria for
+ Including Elements in the Accessibility Tree; otherwise, no accessible object created
+ |
+
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +
+ any role; see the Core Accessibility API Role Mappings and the
+ Graphics Accessibility API Role Mappings
+ |
+
line
SVG Specification | +
+ line
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +
+ graphics-symbol role mapping if the element meets the criteria for
+ Including Elements in the Accessibility Tree; otherwise, no accessible object created
+ |
+
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +
+ any role; see the Core Accessibility API Role Mappings and the
+ Graphics Accessibility API Role Mappings
+ |
+
linearGradient
SVG Specification | +
+ linearGradient
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
marker
SVG Specification | +
+ marker
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
mask
SVG Specification | +
+ mask
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
mesh
SVG Specification | +
+ mesh
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +
+ img role mapping if the element meets the criteria for
+ Including Elements in the Accessibility Tree; otherwise, no accessible object created
+ |
+
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +
+ any role; see the Core Accessibility API Role Mappings and the
+ Graphics Accessibility API Role Mappings
+ |
+
meshPatch
SVG Specification | +
+ meshPatch
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
meshRow
SVG Specification | +
+ meshRow
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
metadata
SVG Specification | +
+ metadata
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created, for this element or any child content | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
mpath
SVG Specification | +
+ mpath
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
path
SVG Specification | +
+ path
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +
+ graphics-symbol role mapping if the element meets the criteria for
+ Including Elements in the Accessibility Tree; otherwise, no accessible object created
+ |
+
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +
+ any role; see the Core Accessibility API Role Mappings and the
+ Graphics Accessibility API Role Mappings
+ |
+
pattern
SVG Specification | +
+ pattern
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created, for this element or any child content | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
polygon
SVG Specification | +
+ polygon
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +
+ graphics-symbol role mapping if the element meets the criteria for
+ Including Elements in the Accessibility Tree; otherwise, no accessible object created
+ |
+
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +
+ any role; see the Core Accessibility API Role Mappings and the
+ Graphics Accessibility API Role Mappings
+ |
+
polyline
SVG Specification | +
+ polyline
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +
+ graphics-symbol role mapping if the element meets the criteria for
+ Including Elements in the Accessibility Tree; otherwise, no accessible object created
+ |
+
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +
+ any role; see the Core Accessibility API Role Mappings and the
+ Graphics Accessibility API Role Mappings
+ |
+
radialGradient
SVG Specification | +
+ radialGradient
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
rect
SVG Specification | +
+ rect
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +
+ graphics-symbol role mapping if the element meets the criteria for
+ Including Elements in the Accessibility Tree; otherwise, no accessible object created
+ |
+
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +
+ any role; see the Core Accessibility API Role Mappings and the
+ Graphics Accessibility API Role Mappings
+ |
+
script
SVG Specification | +
+ script
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
set
SVG Specification | +
+ set
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
solidColor
SVG Specification | +
+ solidColor
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
source
SVG Specification | +
+ source
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | ++ Follow the recommendations for the HTML source element + in the HTML Accessibility API Mappings specification [[!HTML-AAM]]. + | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
stop
SVG Specification | +
+ stop
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
style
SVG Specification | +
+ style
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
svg
SVG Specification | +
+ svg
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +
+ graphics-document
+ |
+
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +
+ any role; see the Core Accessibility API Role Mappings and the
+ Graphics Accessibility API Role Mappings
+ |
+
switch
SVG Specification | +
+ switch
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
symbol
SVG Specification | +
+ symbol
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +
+ graphics-object role mapping if the element meets the criteria for
+ Including Elements in the Accessibility Tree; otherwise, no accessible object created
+
+ A |
+
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +
+ any role; see the Core Accessibility API Role Mappings and the
+ Graphics Accessibility API Role Mappings
+ |
+
text
SVG Specification | +
+ text
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +
+ group role, but with the following platform-specific API mappings:
+
+ The platform mappings given above are similar to those recommended for the HTML p element + in the HTML Accessibility API Mappings specification [[HTML-AAM]]. There is currently no WAI-ARIA role available that defines a distinct text block. However, such roles (denoting + paragraphs or distinct text regions) exist in many platform accessibility APIs and are therefore used instead of a generic group role. + + |
+
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +
+ any role; see the Core Accessibility API Role Mappings and the
+ Graphics Accessibility API Role Mappings
+ |
+
textPath
SVG Specification | +
+ textPath
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +
+ group role mapping if the element meets the criteria for
+ Including Elements in the Accessibility Tree; otherwise, no accessible object created, but changes in
+ text styling SHOULD be exposed through properties of the parent text element where supported
+ The role mappings for |
+
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +
+ any role; see the Core Accessibility API Role Mappings and the
+ Graphics Accessibility API Role Mappings
+ |
+
title
SVG Specification | +
+ title
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +no accessible object created; see Name and Description mapping | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
track
SVG Specification | +
+ track
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | ++ Follow the recommendations for the HTML track element + in the HTML Accessibility API Mappings specification [[!HTML-AAM]]. + | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
tspan
SVG Specification | +
+ tspan
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +
+ group role mapping if the element meets the criteria for
+ Including Elements in the Accessibility Tree; otherwise, no accessible object created, but changes in
+ text styling SHOULD be exposed through properties of the parent text element where supported
+ The role mappings for |
+
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +
+ any role; see the Core Accessibility API Role Mappings and the
+ Graphics Accessibility API Role Mappings
+ |
+
use
SVG Specification | +
+ use
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | +
+ graphics-object role mapping if the element meets the criteria for
+ Including Elements in the Accessibility Tree; otherwise, no accessible object created
+ Note that the re-used graphics in the
+
+
+ Previous drafts of this specification did not require that the re-used graphical elements be exposed directly; The Corresponding with the change to directly expose re-used graphics, special rules for the accessible name and description of |
+
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +
+ any role; see the Core Accessibility API Role Mappings and the
+ Graphics Accessibility API Role Mappings
+ |
+
video
SVG Specification | +
+ video
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | ++ Follow the recommendations for the HTML video element + in the HTML Accessibility API Mappings specification [[!HTML-AAM]]. + | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +
+ application role
+ |
+
view
SVG Specification | +
+ view
+ |
+
---|---|
+ Default Platform + WAI-ARIA Role Mappings + | ++ no accessible object created; see the section SVG views + for special processing requirements + | +
Allowed WAI-ARIA Roles and Platform WAI-ARIA Role Mappings | +no role may be applied | +
+ The use of the group role for
+ textPath
+ and tspan
+ is that of generic container for a span of text content which forms a distinct object (either because it has supplementary alternative text labels or descriptions or because it is
+ interactive). ARIA 1.1 does not have any roles for non-interactive spans of text.
+
+ More work is required to address whether text-specific platform accessibility API roles can more effectively serve this function. In particular, for ATK, the
+ ATK_ROLE_STATIC
role is probably more appropriate than the usual mappings for group
.
+
Suggestions for improved mappings would be welcome, in GitHub Issue #2)
++ This section describes how to expose WAI-ARIA states and properties. SVG user agents + MUST conform to the State and Property Mapping accessibility API computational requirements in the Core + Accessibility API Mappings [[!CORE-AAM]]. +
+In addition, the following attributes on SVG elements require special processing:
+controls
+ on a audio
or
+ video
element is interpretted as defined in the
+ HTML Attribute State and Property Mappings [[!HTML-AAM]].
+ tabindex
+ on a rendered element (whether visible or not) is interpretted as defined in the
+ HTML Attribute State and Property Mappings [[!HTML-AAM]].
+ viewTarget
+ on a view
element creates an aria-flowto
relationship on the associated
+ svg
element when the view is active, as defined in the SVG views section.
+ xlink:title
+ on a link element affects the accessible Name and Description computation.
+
+ The xlink
prefix is used here to refer to the XLink namespace, http://www.w3.org/1999/xlink
. Attributes of the given names in that namespace should be processed as
+ described here, regardless of how the namespace is applied in markup or via script. XLink-namespaced attributes are deprecated in SVG 2 [[SVG2]], but user agents are still expected to process
+ them, to maintain backwards compatibility. Nonetheless, SVG 2 requires that the href
attribute in the default
+ namespace takes precedence over the XLink equivalent if both are set on a given element. In that case, the XLink version is not valid for the purpose of the name and description computation.
+
+ The effective attribute for a given element, and therefore the state and property mapping, may be affected by declarative animation as described in the + Animation section. +
++ When computing an accessible name or accessible description, user agents MUST conform to the section + titled Text Alternative Computation of the Accessible Name and Description specification [[!ACCNAME-AAM]], with the following + modifications for the SVG host language: +
++ If the current node traversal is not a result of following a+aria-labelledby
oraria-describedby
reference, and the current node is not included in the + accessibility tree according to the rules in + Excluding Elements from the Accessibility Tree + and Including Elements in the Accessibility Tree, return the empty string. +
++Otherwise, if performing a text alternative computation for an accessible name:
++
+- + If the current node has at least one direct child
+title
element, select the appropriate title based on the language rules for the SVG specification, and return the title + text alternative as a flat string. +- If the current node is a link, and there was no child
+title
element, but it has anxlink:title
attribute, return the value of that attribute.If performing a text alternative computation for an accessible description:
++
+- + If the current node has at least one direct child
+desc
element, select the appropriate description based on the language rules for the SVG specification, and return the + concatenated text content of the description. +
++ with +For each child node of the current node:
+
++If the element is a text container element, for each child node of the current node:
+
+++ Otherwise, if performing a text alternative computation for an accessible description, and the current node has at least one direct child
+title
element, but the title + elements were not used when generating the accessible name for the node, then select the appropriate title based on the language rules for the SVG specification, and return + the title text content as the description. +Otherwise, if the current node is a link, and it has an
+xlink:title
attribute that was not used for the accessible name, return the value of that attribute.
+ When determining whether an element has a direct child element, only actual DOM child elements are considered, regardless of whether or not the parent element has an associated + shadow tree. +
+ +The net effect of these changes is to establish the following priority of alternative text values for the accessible name:
+aria-labelledby
aria-label
title
elementxlink:title
attribute on a linkThe alternative text values for the accessible description have the following priority:
+aria-describedby
desc
elementtitle
element that provides a tooltip, when ARIA label attributes are used to provide the accessible namexlink:title
attribute on a link, if not used to provide the accessible name
+ The aria-labelledby
and aria-describedby
properties can reference the element on which they are given, in order to concatenate one of the other text alternatives
+ with text from a separate element.
+
+ SVG user agents MUST conform to the + Widget Values + accessibility API computational requirements in the Core Accessibility API Mappings [[!CORE-AAM]]. +
++ SVG user agents MUST conform to the + Relations + accessibility API computational requirements in the Core Accessibility API Mappings [[!CORE-AAM]]. +
+ +
+ The CORE-AAM section on Relations requires that assistive technologies SHOULD provide a method to navigate to (and within) structured content referenced by aria-describedby
.
+ This conflicts with the current approach of not including non-rendered descriptive content in the accessibility tree.
+
+ See the issue discussion for that specification, and the
+ related issue about exposing SVG desc
content.
+
+ SVG user agents MUST conform to the + Group Position + accessibility API computational requirements in the Core Accessibility API Mappings [[!CORE-AAM]]. +
++ This specification uses the terms + shadow tree + and host + as defined by the DOM standard [[!DOM]], and the terms + use-element shadow tree + and element instance + as defined by SVG 2 [[!SVG2]]. +
+ +
+ SVG user agents MUST process the element instances generated for the use-element shadow tree as if those elements were children of the use
element itself, with the following
+ conditions:
+
+ When processing WAI-ARIA attributes on elements within a shadow tree, the user agent MUST first attempt to match any IDREF values against other elements in the same shadow tree, before
+ searching for a match in the host's node tree. If shadow trees are nested, the user agent MUST recursively search from the current shadow tree to the tree containing its host
+ use
element, until the document tree is reached.
+
In all other cases, when matching IDREF values in WAI-ARIA attributes, the user agent MUST NOT consider elements in the shadow tree of a use
element.
+ The editors will be working to harmonize these guidelines with general rules for WAI-ARIA processing of shadow tree elements, such as in web components. Feedback from implementers is + requested on the practical feasibility of encapsulating IDREF matching in this manner. +
++ General feedback on shadow DOM and ARIA should be discussed + in the Core-AAM issue. Feedback unique to SVG can be submitted to Issue #7 on + this specification. +
+
+ SVG provides authors with the means of specifying a particular
+ view of the document. A view is applied through the target fragment of the document URL, either by referencing the id of
+ a view
element, or by specifying a custom view using the SVG view specification
+ fragment identifier.
+
+ The visual effect of an SVG view is equivalent to modifying attributes on the parent svg
element (for a view
element) or the root element (for an SVG view
+ specification fragment). User agents SHOULD therefore modify the accessible object representing that svg
+ when a view is in effect.
+
In particular, the following changes should be made:
+viewTarget
attribute, the svg
element SHOULD be mapped as if it had an aria-flowto
attribute specifying the same list of IDREF
+ values contained in the viewTarget
attribute.
+ view
element, compute the accessible name and description for that element, ignoring the fact that a view
element is excluded from
+ the accessibility tree. If the result is a non-empty string, it SHOULD replace the corresponding name or description for the svg
element while the view is in effect.
+
+ A navigation action towards a URL including an SVG view specification or the id of a view
element SHOULD be treated as a series of property change
+ events on the target svg
element followed by navigation to that element. User agents MAY represent the property changes as the deletion of existing
+ nodes followed by the insertion of modified nodes.
+
+ SVG Views provide a functionality unique to SVG, with no direct equivalent in HTML documents. They may be used as the end-point of a navigation action, but are not themeselves a container + for the targetted content. They may also be used at the time an SVG document is embedded, to subset the visual content to only include a portion of the file. +
++ The editors would be very interested in practical examples of SVG views in use, so that we may determine if the above requirements are sufficient. Particular issues to consider include + whether special rules are required for managing keyboard focus, or for excluding content that is rendered offscreen when a view is in effect. +
+
+ In addition, the viewTarget
attribute, and the corresponding parameter for SVG view fragments, has been deprecated in SVG 2. Their intended use, to trigger visual styling
+ changes in the target element, has never been well implemented by user agents. Without viewTarget
, there would be no native way in SVG to indicate the semantic target of a
+ given view. For view
elements (but not view fragments), a possible alternative is to encourage authors to directly specify aria-flowsto
attributes. These would
+ then need to be mapped to the relevant svg
element.
+
+ This raises the question of whether any other (or all) ARIA attributes should be mapped from the view
element onto the accessible object for the svg
element while
+ the view is in effect. This would require careful consideration of all possible consequences and conflicts. For example, should a view be able to change the role of the SVG element?
+
+ The aria-flowsto
attribute is not well supported in assistive tools; there have been proposals to deprecate it in a future version. Are there other ways in which user agents
+ could expose the changed view, so that users of assistive technologies can quickly understand which parts of the graphic are visible?
+
+ Feedback on any of these points can be provided + on issue #8. +
++ SVG animation elements may modify element attributes and style properties. CSS animations may modify style properties. Either type of animation may be triggered by user interaction, or may + run on a fixed schedule. +
++ If an animation changes the effective value of a WAI-ARIA state or property attribute, or an SVG attribute that is described in the + State and Property Mapping section, the User Agent MUST expose the change in the same way as if the actual attribute value was changed. +
+The role
attribute is not animatable.
+ If an animated change affects whether an element is rendered, or change whether it is visible in a way that would cause it to be excluded from the accessibility tree, user agents + SHOULD expose the change according to the guidelines in the + Changes to document content or node visibility section of the Core Accessibility API Mappings [[!CORE-AAM]]. +
++ SVG user agents MUST conform to the + Actions + accessibility API computational requirements in the Core Accessibility API Mappings [[!CORE-AAM]]. +
++ User agents fire events for user actions, + WAI-ARIA + state changes, changes to document content or node visibility, changes in selection, and operation of menus. Conforming user agents + MUST support the [[!CORE-AAM]] Events mappings. +
++ SVG user agents MUST conform to the + Special Document Handling Procedures + in the Core Accessibility API Mappings [[!CORE-AAM]]. +
++ Implementation of this specification is not expected to add any new security or privacy considerations to the web platform, relative to implementation of SVG ([[SVG2]]) and WAI-ARIA + ([[WAI-ARIA]]) separately. +
++ If you believe there is a potential new security or privacy risk created by this specification, please raise an issue + in the specification's GitHub repository. +
++ In addition to the credited authors and editors, the participants in the SVG Accessibility Task Force contributed to the development of this document. Appreciation also goes to Joanmarie + Diggs and other implementers who have offered feedback on the drafts and helped with testing. +
+