staticdata.dev
Menu
Datasets About Contact

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.

v1.0.0 MIT 53 records Updated 2026-10-05 stable Source:  WAI-ARIA 1.2 — Supported States and Properties, WAI-ARIA 1.3 Editor's Draft

Quick fetch

Stable URL. CORS-enabled. No auth.

bash
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

    Open

    min: 12.0 KB · /v1/aria-attributes.min.json

  • CSV 9.3 KB

    /v1/aria-attributes.csv

    Open
  • TypeScript 13.8 KB

    /v1/aria-attributes.ts

    export const ariaAttributes

    type AriaAttribute = (typeof ariaAttributes)[number]

    Open

Schema

Each record in the dataset has the following shape.

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

Data preview
attributetypevalueTypedescription
aria-activedescendantpropertyidIdentifies the currently active element when DOM focus is on a composite widget, combobox, textbox, group, or application.
aria-atomicpropertybooleanIndicates 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-autocompletepropertytokenIndicates 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-braillelabelpropertystringDefines 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-brailleroledescriptionpropertystringDefines 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-busystatebooleanIndicates 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-checkedstatetristateIndicates the current checked state of checkboxes, radio buttons, and other widgets. Values: true, false, or mixed.
aria-colcountpropertyintegerDefines the total number of columns in a table, grid, or treegrid when not all columns are present in the DOM.
aria-colindexpropertyintegerDefines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid.
aria-colindextextpropertystringDefines 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.)

Showing 10 of 53. View full data:  JSON · CSV

Fetch examples

Drop-in snippets in five languages.

curl
curl -sSL https://staticdata.dev/v1/aria-attributes.json | jq '.[0]'
JavaScript
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]);
Python
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])
Go
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])
}
Rust
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