Accessibility Standards · JSON Structure

Aria Role Structure

A WAI-ARIA role definition that provides semantic meaning to HTML elements for assistive technologies.

Type: object Properties: 8 Required: 3
AccessibilityComplianceUXWeb StandardsWCAGARIASection 508Disability

AriaRole is a JSON Structure definition published by Accessibility Standards, describing 8 properties, of which 3 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

name category description superclassRole requiredStates supportedProperties implicitAriaSemantics specUrl

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

aria-role-structure.json Raw ↑
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/accessibility-standards/refs/heads/main/json-structure/aria-role-structure.json",
  "name": "AriaRole",
  "description": "A WAI-ARIA role definition that provides semantic meaning to HTML elements for assistive technologies.",
  "type": "object",
  "properties": {
    "name": {
      "description": "The ARIA role name",
      "example": "button",
      "type": "string"
    },
    "category": {
      "description": "The role category in the ARIA taxonomy",
      "example": "Widget",
      "enum": [
        "Abstract",
        "Widget",
        "Document Structure",
        "Landmark",
        "Live Region",
        "Window"
      ],
      "type": "string"
    },
    "description": {
      "description": "Description of the role and its semantic meaning",
      "type": "string"
    },
    "superclassRole": {
      "description": "Parent roles in the ARIA role hierarchy",
      "example": [
        "command",
        "input"
      ],
      "type": "array",
      "items": {
        "$schema": "https://json-structure.org/meta/core/v0/#",
        "type": "string"
      }
    },
    "requiredStates": {
      "description": "ARIA states required for this role",
      "example": [
        "aria-pressed"
      ],
      "type": "array",
      "items": {
        "$schema": "https://json-structure.org/meta/core/v0/#",
        "type": "string"
      }
    },
    "supportedProperties": {
      "description": "ARIA properties supported by this role",
      "example": [
        "aria-expanded",
        "aria-haspopup",
        "aria-label"
      ],
      "type": "array",
      "items": {
        "$schema": "https://json-structure.org/meta/core/v0/#",
        "type": "string"
      }
    },
    "implicitAriaSemantics": {
      "description": "HTML elements that natively carry this role",
      "example": "button, input[type=button]",
      "type": "string"
    },
    "specUrl": {
      "description": "URL to the WAI-ARIA spec definition",
      "example": "https://www.w3.org/TR/wai-aria-1.2/#button",
      "type": "uri"
    }
  },
  "required": [
    "name",
    "category",
    "description"
  ]
}