Purpose of ARIA is Describe Semantics and Behavior

  • Provide an inter-operable way to describe the features of custom widgets:
    • Role: Describes the type of widget, which implies the keyboard interaction.
    • Properties and States: Describing features like "expandable", "checked" or "selected".
    • Language independence: Roles, properties and states can be translated by the operating systems and assistive technologies to local languages.
    • Labeling: How to label the features of the widget and its components (e.g. accessible name).
    • Relationships: How different components relate to each other (e.g. descriptions, controls, owns).
    • Grouping: Groups of related components (e.g. lists, menus, trees, tab panels).
  • Define markup mappings to accessibility APIs:
    • ATK/AT-SPI (Linux/Unix)
    • Microsoft Active Accessibility (MSAA) + IAccessible2
    • Microsoft UI Automate
    • MacOS Accessibility API