ARIA Attributes
The WAI-ARIA states and properties as defined by the W3C Web Accessibility Initiative: the 48 attributes of WAI-ARIA 1.2 plus the 5 added in the WAI-ARIA 1.3 Editor's Draft as of October 2026 (aria-braillelabel, aria-brailleroledescription, aria-colindextext, aria-description, aria-rowindextext). Each entry captures the attribute name (e.g. aria-label), whether it is a property or a state, the value type it accepts (string, boolean, integer, token, idlist, etc.), and a concise description of its purpose. The dataset covers all 53 attributes — including deprecated attributes for completeness — making it suitable for accessibility tooling, linters, documentation generators, and IDE auto-completion.
Quick fetch
Stable URL. CORS-enabled. No auth.
curl https://staticdata.dev/v1/aria-attributes.json
Or use as a typed import:
import { ariaAttributes } from "https://staticdata.dev/v1/aria-attributes.ts"
Formats
- JSON 13.6 KB
/v1/aria-attributes.json
min: 12.0 KB · /v1/aria-attributes.min.json
- CSV 9.3 KB
/v1/aria-attributes.csv
- TypeScript 13.8 KB
/v1/aria-attributes.ts
export const ariaAttributes
type AriaAttribute = (typeof ariaAttributes)[number]
Schema
Each record in the dataset has the following shape.
| Field | Type | Description | Example |
|---|---|---|---|
| attribute | string | The ARIA attribute name including the aria- prefix | aria-label |
| type | string | Whether the attribute is a property or a state | property |
| valueType | string | The type of value the attribute accepts | string |
| description | string | A concise description of the attribute's purpose and usage | Defines a string value that labels the current element. |
Preview
First 10 records.
| attribute | type | valueType | description |
|---|---|---|---|
| aria-activedescendant | property | id | Identifies the currently active element when DOM focus is on a composite widget, combobox, textbox, group, or application. |
| aria-atomic | property | boolean | Indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute. |
| aria-autocomplete | property | token | Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for a combobox, searchbox, or textbox and specifies how predictions will be presented if they are made. |
| aria-braillelabel | property | string | Defines a string value that labels the current element, intended to be converted into Braille. This is analogous to aria-label. (Added in WAI-ARIA 1.3.) |
| aria-brailleroledescription | property | string | Defines a human-readable, author-localized abbreviated description for the role of an element, intended to be converted into Braille. (Added in WAI-ARIA 1.3.) |
| aria-busy | state | boolean | Indicates an element is being modified and that assistive technologies may wish to wait until the modifications are complete before exposing them to the user. |
| aria-checked | state | tristate | Indicates the current checked state of checkboxes, radio buttons, and other widgets. Values: true, false, or mixed. |
| aria-colcount | property | integer | Defines the total number of columns in a table, grid, or treegrid when not all columns are present in the DOM. |
| aria-colindex | property | integer | Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid. |
| aria-colindextext | property | string | Defines a human-readable text alternative of aria-colindex. Intended for cases where the numeric aria-colindex is not meaningful to assistive technology users. (Added in WAI-ARIA 1.3.) |
Fetch examples
Drop-in snippets in five languages.
curl -sSL https://staticdata.dev/v1/aria-attributes.json | jq '.[0]' import type { AriaAttribute } from "https://staticdata.dev/v1/aria-attributes.ts";
const res = await fetch("https://staticdata.dev/v1/aria-attributes.min.json");
if (!res.ok) throw new Error(`Fetch failed: ${res.status}`);
const ariaAttributes: AriaAttribute[] = await res.json();
console.log(ariaAttributes[0]); import urllib.request, json
with urllib.request.urlopen("https://staticdata.dev/v1/aria-attributes.min.json") as r:
ariaAttributes = json.load(r)
print(ariaAttributes[0]) package main
import (
"encoding/json"
"fmt"
"net/http"
)
func main() {
resp, err := http.Get("https://staticdata.dev/v1/aria-attributes.min.json")
if err != nil { panic(err) }
defer resp.Body.Close()
var data []map[string]any
if err := json.NewDecoder(resp.Body).Decode(&data); err != nil {
panic(err)
}
fmt.Println(data[0])
} use serde_json::Value;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let body = ureq::get("https://staticdata.dev/v1/aria-attributes.min.json").call()?.into_string()?;
let data: Vec<Value> = serde_json::from_str(&body)?;
println!("{:?}", data.first());
Ok(())
} Sources and methodology
The data is curated from the WAI-ARIA 1.2 specification published by the W3C Web Accessibility Initiative. WAI-ARIA (Accessible Rich Internet Applications) defines two kinds of aria-* attributes: states represent dynamic, user-driven conditions of a widget (such as aria-checked, aria-expanded, or aria-selected), while properties represent semantic characteristics that are unlikely to change or that change only rarely (such as aria-label, aria-required, or aria-describedby). Both kinds are essential for communicating widget semantics to assistive technologies such as screen readers.
Value types vary across attributes. Simple boolean values accept true or false. tristate attributes additionally accept mixed (used by indeterminate checkboxes and toggle buttons). token attributes accept one value from a defined enumerated list, while tokenlist attributes accept a space-separated list of such tokens. idlist attributes reference one or more element IDs elsewhere in the DOM. integer and number attributes carry numeric values used by range widgets and grid structures. string attributes carry free-form human-readable text such as labels and descriptions. The id value type references a single element ID.
Two attributes — aria-grabbed and aria-dropeffect — were deprecated in WAI-ARIA 1.1 and are retained here for completeness and backwards-compatibility reference. They are superseded by the HTML Drag-and-Drop API and should not be used in new code. All remaining attributes are normative in WAI-ARIA 1.2, except the five 1.3 additions noted above (their descriptions say “Added in WAI-ARIA 1.3”). In 1.3, aria-details and aria-errormessage accept an ID reference list (idlist); in 1.2 they took a single ID. Attributes whose spec value type is “true/false/undefined” (aria-expanded, aria-hidden, aria-selected) are listed as boolean. The descriptions in this dataset are concise paraphrases of the normative definitions, suitable for developer tooling and quick reference.
Versioning
URLs under /v1/ are stable: field names and types will not change in a way
that breaks consumers. Values can be corrected or records added when the upstream source
changes; schema-incompatible updates ship under a new version path. See the
aria-attributes changelog for this dataset's history.
Related datasets
More Web datasets
- character-encodings
- csp-directives
- credit-card-types
- dns-record-types
- dom-events
- emoji
- emoji-shortcodes
- html-entities
- html-attributes
- input-types
- http-auth-schemes
- http-cache-directives
- http-content-codings
- http-headers
- http-methods
- http-status-codes
- http-versions
- iframe-sandbox-tokens
- ip-protocol-numbers
- keyboard-event-codes
- link-relations
- media-type-suffixes
- mime-types
- oauth-grant-types
- ports
- referrer-policies
- ip-special-blocks
- svg-elements
- tcp-flags
- tlds
- tls-cipher-suites
- tls-versions
- uri-schemes
- well-known-uris