Semantics
A structure containing one or more focusable elements requiring user input, such as keyboard or gesture events, that do not follow a standard interaction pattern supported by a widget role.
Additional info from the ARIA specification
Some user agents and assistive technologies have a browse mode where standard input events, such as up and down arrow key events, are intercepted and used to control a reading cursor. This browse mode behavior prevents elements that do not have a widget role from receiving and using such keyboard and gesture events to provide interactive functionality.
When there is a need to create an element with an interaction model that is not supported by any of the WAI-ARIA widget roles, authors MAY give that element role application. And, when a user navigates into an element with role application, assistive technologies that intercept standard input events SHOULD switch to a mode that passes most or all standard input events through to the web application.
For example, a presentation slide editor uses arrow keys to change the positions of textbox and image elements on the slide. There are not any WAI-ARIA widget roles that correspond to such an interaction model so an author could give the slide container role application, an aria-roledescription of "Slide Editor", and use aria-describedby to provide instructions.
Because only the focusable elements contained in an application element are accessible to users of some assistive technologies, authors MUST use one of the following techniques to ensure all non-decorative static text or image content inside an application is accessible:
Abstract Role
StructureRepresents a non-interactive part of a page that organizes content into coherent units.
Content Categories
Flow ContentAn element that structures and organizes the body of a web document.
Allowed Descendants
Flow Children Allowed
Usage
Allowed HTML elements
Implicit semantics
- None
Explicitly allowed
article[role=application]audio[role=application]embed[role=application]iframe[role=application]object[role=application]section[role=application]video[role=application]
Elements that can have any role
abbr[role=application]address[role=application]b[role=application]blockquote[role=application]canvas[role=application]cite[role=application]code[role=application]custom-element[role=application]data[role=application]del[role=application]dfn[role=application]div[role=application]em[role=application]figure[role=application]i[role=application]ins[role=application]kbd[role=application]mark[role=application]output[role=application]p[role=application]pre[role=application]q[role=application]samp[role=application]small[role=application]span[role=application]table[role=application]tbody[role=application]tfoot[role=application]thead[role=application]time[role=application]u[role=application]var[role=application]