Skip to content

Coverage and Quality Reports

Coverage and Quality Reports

About These Reports

The APG Task Force uses the reports on this page to help plan content improvements. The reports provide data about the scope and quality of content in the APG. The data delineates:

  • Which ARIA attributes (roles, states, or properties) have usage demonstrated by an example.
  • Which ARIA attributes have usage guidance provided by a pattern or practice.
  • Which ARIA attributes are not covered by APG guidance or examples.
  • Which APG examples implement specific coding practices specified in the APG code guide.

The data in the reports are generated by a script that is run by a GitHub action workflow when the main branch of the aria-practices repository is updated. The script will indicate that an ARIA attribute has guidance in a pattern or practice if any of the following conditions are met:

  • The ARIA attribute is included in the text of a heading (e.g. h2-h6) within the content of a pattern or practice.
  • The ARIA attribute is included within either the data-aria-roles or data-aria-props attribute specified on a heading within a pattern or practice. These data attributes may contain a space separated list of values.

If either of the data attributes is specified on a heading, the content of that heading will not be processed. In the generated report, the suffix "(D)" indicates a reference came from a data attribute, otherwise the reference came from the text content of a heading.

The following files and reports are generated:

CSV Formatted Reports of Role, Property, and State Coverage

Roles with No Guidance or Examples (29)

  • application
  • caption
  • code
  • definition
  • deletion
  • directory
  • document
  • emphasis
  • figure
  • generic
  • heading
  • img
  • input
  • insertion
  • list
  • listitem
  • log
  • marquee
  • math
  • note
  • paragraph
  • progressbar
  • rowheader
  • scrollbar
  • searchbox
  • status
  • term
  • textbox
  • timer

Roles with at Least One Guidance or Example (13)

NOTE: The HC abbreviation means example has High Contrast support.
Role Guidance Example
alertdialog Alert Dialog
article Feed
columnheader Table
complementary Complementary Complementary Landmark
feed Feed Pattern Feed
link Link Pattern Link
main Main Main Landmark
menuitemcheckbox Editor Menubar
rowgroup Table
search Search Search Landmark
separator Editor Menubar
tooltip Tooltip Pattern
treegrid Treegrid Pattern Treegrid Email Inbox

Roles with More than One Guidance or Example (36)

NOTE: The HC abbreviation means example has High Contrast support.
Role Guidance Examples
alert
banner Banner
button
cell Table
checkbox Checkbox Pattern
combobox
contentinfo Contentinfo
dialog
form Form Landmark
grid
gridcell
group
listbox
menu
menubar Menu and Menubar Pattern
menuitem
menuitemradio
meter Meter
navigation
none
option
presentation
radio
radiogroup
region Region
row
slider
spinbutton Spinbutton Pattern
switch Switch Pattern
tab Keyboard Navigation Between Components (The Tab Sequence)
table Table
tablist
tabpanel
toolbar Toolbar
tree
treeitem

Properties and States with No Guidance or Examples (12)

NOTE: The HC abbreviation means example has High Contrast support.
  • aria-details
  • aria-dropeffect
  • aria-errormessage
  • aria-flowto
  • aria-grabbed
  • aria-invalid
  • aria-keyshortcuts
  • aria-multiline
  • aria-placeholder
  • aria-readonly
  • aria-relevant
  • aria-required

Properties and States with at Least One Guidance or Example (8)

NOTE: The HC abbreviation means example has High Contrast support.

Properties and States with More than One Guidance or Example (28)

NOTE: The HC abbreviation means example has High Contrast support.
Property or State Guidance Examples
aria-activedescendant Managing Focus in Composites Using aria-activedescendant
aria-autocomplete
aria-checked
aria-colindex Data Grid
aria-controls
aria-current
aria-describedby Describing by referencing content with aria-describedby
aria-disabled
aria-expanded
aria-haspopup
aria-hidden
aria-label Naming with a String Attribute Via aria-label
aria-labelledby Naming with Referenced Content Via aria-labelledby
aria-level
aria-live
aria-modal
aria-posinset
aria-pressed
aria-roledescription
aria-rowcount Using aria-rowcount and aria-rowindex
aria-rowindex Using aria-rowcount and aria-rowindex
aria-selected
aria-setsize
aria-sort Indicating sort order with aria-sort
aria-valuemax Using aria-valuemin, aria-valuemax and aria-valuenow
aria-valuemin
aria-valuenow Using aria-valuemin, aria-valuemax and aria-valuenow
aria-valuetext Using aria-valuetext

Code Quality

Coding Summary

Total Examples 60
High Contrast Documentation 31
Uses SVG 33
Uses forced-color-adjust on SVG 13
Uses event.KeyCode 20
Uses event.which 12
Use Class 31
Use Prototype 23
Mouse Events 16
Pointer Events 59

Coding Practices

Example Created Using Uses event.keyCode Uses event.which High Contrast Documentation Example Code ID Roles in Javascript and HTML Roles in Documentation aria-* Attributes in Javascript and HTML aria-* Attributes in Documentation Differences between the documentation and the source code.
Accordion class ex1 4 1 9 3 heading,menu,menuitem,aria-busy,aria-haspopup,aria-hidden,aria-label,aria-required,aria-roledescription
Alert ex1 4 1 7 2 heading,menu,menuitem,aria-busy,aria-controls,aria-expanded,aria-haspopup,aria-label,aria-labelledby,aria-roledescription,aria-live,aria-atomic
Alert Dialog prototype Yes Yes ex_alertdialog 5 2 11 4 heading,menu,menuitem,aria-busy,aria-controls,aria-expanded,aria-haspopup,aria-hidden,aria-label,aria-roledescription
Breadcrumb ex1 4 0 8 2 heading,menu,menuitem,navigation,aria-busy,aria-controls,aria-expanded,aria-haspopup,aria-labelledby,aria-roledescription
Button (IDL Version) Yes example 4 1 9 2 heading,menu,menuitem,aria-busy,aria-controls,aria-expanded,aria-haspopup,aria-label,aria-labelledby,aria-roledescription
Button Yes example 4 1 9 1 heading,menu,menuitem,aria-busy,aria-controls,aria-expanded,aria-haspopup,aria-hidden,aria-label,aria-labelledby,aria-roledescription
Auto-Rotating Image Carousel with Buttons for Slide Control prototype ex1 5 2 8 4 heading,menu,menuitem,aria-busy,aria-expanded,aria-haspopup,aria-labelledby
Auto-Rotating Image Carousel with Tabs for Slide Control prototype Yes ex1 7 4 9 5 heading,menu,menuitem,aria-busy,aria-expanded,aria-haspopup,aria-labelledby
Checkbox (Mixed-State) class Yes ex1 4 1 8 2 heading,menu,menuitem,aria-busy,aria-expanded,aria-haspopup,aria-label,aria-labelledby,aria-roledescription
Checkbox (Two State) class Yes ex1 5 2 8 2 heading,menu,menuitem,aria-busy,aria-controls,aria-expanded,aria-haspopup,aria-label,aria-roledescription
Editable Combobox With Both List and Inline Autocomplete class Yes ex1 6 3 11 6 heading,menu,menuitem,aria-busy,aria-haspopup,aria-hidden,aria-labelledby,aria-roledescription
Editable Combobox With List Autocomplete class Yes ex1 6 3 11 6 heading,menu,menuitem,aria-busy,aria-haspopup,aria-hidden,aria-labelledby,aria-roledescription
Editable Combobox without Autocomplete class Yes ex1 6 3 11 6 heading,menu,menuitem,aria-busy,aria-haspopup,aria-hidden,aria-labelledby,aria-roledescription
Date Picker Combobox class Yes ex1 7 3 13 10 gridcell,heading,menu,menuitem,aria-busy,aria-hidden,aria-roledescription
Select-Only Combobox prototype ex1 5 3 9 5 heading,menu,menuitem,option,aria-busy,aria-haspopup,aria-label,aria-roledescription
Editable Combobox with Grid Popup prototype Yes Yes ex1 5 4 10 7 heading,menu,menuitem,row,gridcell,aria-busy,aria-label,aria-roledescription
Date Picker Dialog prototype Yes Yes example 6 2 11 6 gridcell,heading,menu,menuitem,aria-busy,aria-controls,aria-expanded,aria-haspopup,aria-roledescription
Modal Dialog prototype Yes Yes ex1 4 1 9 3 heading,menu,menuitem,aria-busy,aria-controls,aria-expanded,aria-haspopup,aria-label,aria-roledescription
Disclosure (Show/Hide) for Answers to Frequently Asked Questions class Yes ex1 3 0 7 2 heading,menu,menuitem,aria-busy,aria-haspopup,aria-label,aria-labelledby,aria-roledescription
Disclosure (Show/Hide) for Image Description class Yes ex1 3 0 7 2 heading,menu,menuitem,aria-busy,aria-haspopup,aria-label,aria-labelledby,aria-roledescription
Disclosure Navigation Menu with Top-Level Links class, prototype ex1 7 0 8 3 banner,contentinfo,heading,menu,menuitem,navigation,region,aria-busy,aria-haspopup,aria-label,aria-labelledby,aria-roledescription
Disclosure Navigation Menu class, prototype Yes ex1 5 0 8 3 heading,menu,menuitem,navigation,region,aria-busy,aria-haspopup,aria-label,aria-labelledby,aria-roledescription
Feed ex1 3 2 7 5 heading,menu,menuitem,feed,article,aria-controls,aria-expanded,aria-haspopup,aria-label,aria-roledescription,aria-describedby,aria-posinset,aria-setsize
Feed Display prototype Yes Yes not found 0 0 6 0 aria-busy,aria-describedby,aria-label,aria-labelledby,aria-posinset,aria-setsize
Advanced Data Grid prototype Yes Yes ex1 3 0 10 0 heading,menu,menuitem,aria-busy,aria-colindex,aria-controls,aria-expanded,aria-haspopup,aria-label,aria-labelledby,aria-roledescription,aria-rowindex,aria-sort
Data Grid prototype Yes Yes ex1 5 1 12 6 button,heading,menu,menuitem,aria-busy,aria-controls,aria-expanded,aria-haspopup,aria-label,aria-roledescription
Layout Grid prototype Yes Yes ex1 8 3 13 3 button,heading,menu,menuitem,region,aria-busy,aria-colindex,aria-controls,aria-expanded,aria-haspopup,aria-label,aria-live,aria-relevant,aria-roledescription,aria-sort
Link Yes not found 4 1 7 1 heading,menu,menuitem,aria-busy,aria-controls,aria-expanded,aria-haspopup,aria-labelledby,aria-roledescription
(Deprecated) Collapsible Dropdown Listbox prototype Yes Yes ex 5 2 12 5 heading,menu,menuitem,aria-busy,aria-controls,aria-disabled,aria-keyshortcuts,aria-label,aria-multiselectable,aria-roledescription
Listbox with Grouped Options prototype Yes Yes ex 7 3 12 3 heading,menu,menuitem,presentation,aria-busy,aria-controls,aria-disabled,aria-expanded,aria-haspopup,aria-keyshortcuts,aria-label,aria-multiselectable,aria-roledescription
Listboxes with Rearrangeable Options prototype Yes Yes ex1 6 2 13 4 heading,menu,menuitem,toolbar,aria-busy,aria-controls,aria-disabled,aria-expanded,aria-haspopup,aria-keyshortcuts,aria-label,aria-live,aria-roledescription
Scrollable Listbox prototype Yes Yes ex 5 2 12 3 heading,menu,menuitem,aria-busy,aria-controls,aria-disabled,aria-expanded,aria-haspopup,aria-keyshortcuts,aria-label,aria-multiselectable,aria-roledescription
Actions Menu Button Using aria-activedescendant class Yes ex1 3 2 8 5 heading,aria-busy,aria-label,aria-roledescription
Actions Menu Button Using element.focus() class Yes ex1 3 2 7 4 heading,aria-busy,aria-label,aria-roledescription
Navigation Menu Button class Yes ex1 4 3 7 4 heading,aria-busy,aria-label,aria-roledescription
Editor Menubar class Yes ex1 9 7 11 6 heading,none,aria-busy,aria-controls,aria-labelledby,aria-orientation,aria-roledescription
Navigation Menubar class Yes ex1 10 8 9 5 heading,separator,aria-busy,aria-controls,aria-orientation,aria-roledescription
Meter prototype example 4 1 11 4 heading,menu,menuitem,aria-busy,aria-controls,aria-expanded,aria-haspopup,aria-hidden,aria-label,aria-roledescription
Radio Group Using aria-activedescendant class Yes ex1 5 2 9 3 heading,menu,menuitem,aria-busy,aria-controls,aria-expanded,aria-haspopup,aria-label,aria-roledescription
Rating Radio Group class Yes ex1 6 3 8 3 heading,menu,menuitem,aria-busy,aria-controls,aria-expanded,aria-haspopup,aria-roledescription
Radio Group Using Roving tabindex class Yes ex1 5 2 8 2 heading,menu,menuitem,aria-busy,aria-controls,aria-expanded,aria-haspopup,aria-label,aria-roledescription
Horizontal Multi-Thumb Slider class Yes ex1 5 2 11 5 heading,menu,menuitem,aria-busy,aria-controls,aria-expanded,aria-haspopup,aria-labelledby,aria-roledescription
Color Viewer Slider class Yes ex1 5 2 11 5 heading,menu,menuitem,aria-busy,aria-controls,aria-expanded,aria-haspopup,aria-label,aria-roledescription
Rating Slider class Yes ex1 4 1 12 6 heading,menu,menuitem,aria-busy,aria-controls,aria-expanded,aria-haspopup,aria-label,aria-roledescription
Media Seek Slider class Yes ex1 5 2 12 6 heading,menu,menuitem,aria-busy,aria-controls,aria-expanded,aria-haspopup,aria-label,aria-roledescription
Vertical Temperature Slider class Yes ex1 5 2 13 7 heading,menu,menuitem,aria-busy,aria-controls,aria-expanded,aria-haspopup,aria-label,aria-roledescription
Date Picker Spin Button prototype Yes example 5 2 12 7 heading,menu,menuitem,aria-busy,aria-controls,aria-expanded,aria-haspopup,aria-roledescription
Switch Using HTML Button class Yes ex1 5 2 9 3 heading,menu,menuitem,aria-busy,aria-controls,aria-expanded,aria-haspopup,aria-label,aria-roledescription
Switch Using HTML Checkbox Input class Yes ex1 4 1 8 1 heading,menu,menuitem,aria-busy,aria-controls,aria-expanded,aria-haspopup,aria-label,aria-labelledby,aria-roledescription
Switch class Yes ex1 4 1 9 2 heading,menu,menuitem,aria-busy,aria-controls,aria-expanded,aria-haspopup,aria-label,aria-labelledby,aria-roledescription
Sortable Table class Yes ex1 3 0 9 2 heading,menu,menuitem,aria-busy,aria-controls,aria-expanded,aria-haspopup,aria-label,aria-labelledby,aria-roledescription
Table ex1 8 5 8 2 heading,menu,menuitem,aria-busy,aria-controls,aria-expanded,aria-haspopup,aria-labelledby,aria-roledescription
Tabs with Automatic Activation class Yes ex1 6 3 8 3 heading,menu,menuitem,aria-busy,aria-expanded,aria-haspopup,aria-label,aria-roledescription
Tabs with Manual Activation class Yes ex1 6 3 8 3 heading,menu,menuitem,aria-busy,aria-expanded,aria-haspopup,aria-label,aria-roledescription
Toolbar not found 3 0 7 0 heading,menu,menuitem,aria-busy,aria-controls,aria-expanded,aria-haspopup,aria-label,aria-labelledby,aria-roledescription
Toolbar prototype Yes ex1 8 6 15 12 heading,menuitem,aria-busy,aria-labelledby,aria-roledescription
Treegrid Email Inbox prototype Yes ex1 6 3 12 5 heading,menu,menuitem,aria-activedescendant,aria-busy,aria-controls,aria-current,aria-haspopup,aria-labelledby,aria-roledescription
File Directory Treeview Using Computed Properties prototype Yes ex1 6 3 8 3 heading,menu,menuitem,aria-busy,aria-controls,aria-haspopup,aria-label,aria-roledescription
File Directory Treeview Using Declared Properties prototype Yes ex1 6 3 11 6 heading,menu,menuitem,aria-busy,aria-controls,aria-haspopup,aria-label,aria-roledescription
Navigation Treeview class Yes Yes ex1 11 8 9 5 heading,menu,menuitem,aria-busy,aria-controls,aria-haspopup,aria-roledescription

Graphics Techniques

Example SVG in HTML SVG in CSS SVG in JS forced-color-adjust CSS ::before CSS ::after CSS content
Alert Dialog Yes Yes
Breadcrumb Yes Yes
Button (IDL Version) Yes Yes Yes Yes
Button Yes Yes Yes Yes
Auto-Rotating Image Carousel with Buttons for Slide Control Yes Yes
Auto-Rotating Image Carousel with Tabs for Slide Control Yes Yes
Checkbox (Mixed-State) Yes Yes Yes
Checkbox (Two State) Yes Yes Yes
Editable Combobox With Both List and Inline Autocomplete Yes Yes
Editable Combobox With List Autocomplete Yes Yes
Editable Combobox without Autocomplete Yes Yes
Date Picker Combobox Yes Yes Yes
Select-Only Combobox Yes Yes
Date Picker Dialog Yes
Disclosure (Show/Hide) for Answers to Frequently Asked Questions Yes Yes Yes
Disclosure (Show/Hide) for Image Description Yes Yes Yes
Disclosure Navigation Menu with Top-Level Links Yes Yes
Disclosure Navigation Menu Yes Yes
Feed Display Yes
Advanced Data Grid Yes Yes
Data Grid Yes Yes
Layout Grid Yes Yes Yes
Link Yes Yes Yes
(Deprecated) Collapsible Dropdown Listbox Yes Yes Yes
Listbox with Grouped Options Yes Yes Yes
Listboxes with Rearrangeable Options Yes Yes Yes
Scrollable Listbox Yes Yes Yes
Actions Menu Button Using aria-activedescendant Yes Yes
Actions Menu Button Using element.focus() Yes Yes
Navigation Menu Button Yes Yes
Editor Menubar Yes Yes
Navigation Menubar Yes Yes Yes
Meter Yes
Radio Group Using aria-activedescendant Yes Yes Yes
Rating Radio Group Yes Yes Yes
Radio Group Using Roving tabindex Yes Yes Yes
Horizontal Multi-Thumb Slider Yes Yes Yes Yes
Color Viewer Slider Yes Yes Yes Yes
Rating Slider Yes Yes Yes Yes
Media Seek Slider Yes Yes Yes Yes
Vertical Temperature Slider Yes Yes Yes Yes
Date Picker Spin Button Yes Yes
Switch Using HTML Button Yes Yes Yes Yes
Sortable Table Yes Yes
Toolbar Yes Yes Yes Yes Yes
Treegrid Email Inbox Yes Yes Yes
File Directory Treeview Using Computed Properties Yes Yes
File Directory Treeview Using Declared Properties Yes Yes
Navigation Treeview Yes Yes

Mouse and Pointer Events

Example Mouse Events Pointer Events
Accordion Yes
Alert Yes
Alert Dialog Yes
Breadcrumb Yes
Button (IDL Version) Yes
Button Yes
Auto-Rotating Image Carousel with Buttons for Slide Control Yes Yes
Auto-Rotating Image Carousel with Tabs for Slide Control Yes Yes
Checkbox (Mixed-State) Yes
Checkbox (Two State) Yes
Editable Combobox With Both List and Inline Autocomplete Yes
Editable Combobox With List Autocomplete Yes
Editable Combobox without Autocomplete Yes
Date Picker Combobox Yes Yes
Select-Only Combobox Yes Yes
Editable Combobox with Grid Popup Yes
Date Picker Dialog Yes Yes
Modal Dialog Yes
Disclosure (Show/Hide) for Answers to Frequently Asked Questions Yes
Disclosure (Show/Hide) for Image Description Yes
Disclosure Navigation Menu with Top-Level Links Yes
Disclosure Navigation Menu Yes
Feed Yes
Advanced Data Grid Yes
Data Grid Yes
Layout Grid Yes
Link Yes
(Deprecated) Collapsible Dropdown Listbox Yes Yes
Listbox with Grouped Options Yes Yes
Listboxes with Rearrangeable Options Yes Yes
Scrollable Listbox Yes Yes
Actions Menu Button Using aria-activedescendant Yes Yes
Actions Menu Button Using element.focus() Yes Yes
Navigation Menu Button Yes Yes
Editor Menubar Yes
Navigation Menubar Yes
Meter Yes
Radio Group Using aria-activedescendant Yes
Rating Radio Group Yes
Radio Group Using Roving tabindex Yes
Horizontal Multi-Thumb Slider Yes
Color Viewer Slider Yes
Rating Slider Yes
Media Seek Slider Yes
Vertical Temperature Slider Yes
Date Picker Spin Button Yes
Switch Using HTML Button Yes
Switch Using HTML Checkbox Input Yes
Switch Yes
Sortable Table Yes
Table Yes
Tabs with Automatic Activation Yes
Tabs with Manual Activation Yes
Toolbar Yes
Toolbar Yes Yes
Treegrid Email Inbox Yes
File Directory Treeview Using Computed Properties Yes Yes
File Directory Treeview Using Declared Properties Yes Yes
Navigation Treeview Yes Yes
Back to Top