Skip to content

Button Examples (IDL Version)

Button Examples (IDL Version)

Read This First

The code in this example is not intended for production environments. Before using it for any purpose, read this to understand why.

This is an illustrative example of one way of using ARIA that conforms with the ARIA specification.

About This example

The following examples of the Button Pattern demonstrate a new JavaScript syntax for coding ARIA attributes.

The JavaScript for the example buttons on this page uses the IDL Interface defined in ARIA 1.2. The purpose of these examples is to illustrate how to use ARIA Attribute Reflection and provide a test case for browser and assistive technology interoperability. Specifically, the role and ariaPressed attributes are accessed using dot notation instead of setAttribute() and getAttribute(). In all other respects, these examples are identical to the Button Examples.

Example

Important

This example is coded using syntax that was not introduced until version 1.2 of the ARIA specification. When using a browser that does not yet provide support for ARIA attribute reflection, the buttons will not be styled correctly.

This Print action button uses a div element.

Print Page

This Mute toggle button uses an a element.

Mute

Keyboard Support

Key Function
Enter Activates the button.
Space Activates the button.

Role, Property, State, and Tabindex Attributes

Role Attribute Element Usage
button div, a
  • Set in javascript with element.role = 'button';.
  • Identifies the element as a button widget.
  • Accessible name for the button is defined by the text content of the element.
tabindex="0" div, a
  • Includes the element in the tab sequence.
  • Needed on the a element because it does not have a href attribute.
aria-pressed="false" a
  • Set in javascript with button.ariaPressed = 'false';.
  • Identifies the button as a toggle button.
  • Indicates the toggle button is not pressed.
aria-pressed="true" a
  • Set in javascript with button.ariaPressed = 'true';.
  • Identifies the button as a toggle button.
  • Indicates the toggle button is pressed.
aria-hidden="true" svg Excludes SVG from accessible name calculation for the button.

JavaScript and CSS Source Code

HTML Source Code

To copy the following HTML code, please open it in CodePen.

Back to Top