When should I use the ARIA “application” role?

Question

When should I use the ARIA "application" role? How does it affect web accessibility?

Answer

Some complex interactions currently are not well supported by existing native elements or common widget design patterns, and in these cases the application role may be appropriate. However, it should be approached with a clear understanding of the accessibility implications.

The application role indicates that a widget is non-standard, and it signals to browsers and assistive technology not to use their typical web interactions or modes for the content it contains. Because of this, a lot more responsibility falls on you as the author. It’s up to you to implement Javascript to handle mouse functionality, keyboard navigation, and focus management, as well as to include adequate instructions for how to interact with the widget.

According to the Accessible Rich Internet Applications (ARIA) 1.2 recommendation, all perceivable content contained in the application element must also be focusable, since otherwise users on some assistive technology won’t be able to access it. There are multiple ways to achieve this, depending on the content’s purpose.

When building a widget with role="application", it’s also critical to gather feedback and conduct thorough accessibility testing with users with disabilities. This testing can uncover considerations for functionality and communication that will lead to a better widget and save you time and money in the long run.

Remember, always consider existing widget design patterns before choosing the application role. Take a deeper dive into common design pattern examples in the Widgets course from Accessible Web Academy.

Free Tools to Continue Learning

Accessible Web Company Logo

Accessible Web RAMP

Monitor your website and manage your progress towards WCAG conformance.

Accessible Web Company Logo

Accessible Web Academy

Career specific courses to help power up your accessibility knowledge.