Amazon Developer

as

Settings
Sign out
Notifications
Alexa
Amazon Appstore
Ring
AWS
Documentation
Support
Contact Us
My Cases
Get Started
Design and Develop
Publish
Reference
Support
Native
Skip to main content

Struct Role

sealed struct Role
Represents the role of a UCC element.

Fields

Constants

ADJUSTABLE

Role = {"adjustable"}
This component can be “adjusted” (e.g. a slider). The IAdjustable and IValue interfaces should be supported.

ALERT

Role = {"alert"}
This component is a live region with important, and usually time-sensitive, information. The ILiveRegion::mode should return LiveRegionMode2::ASSERTIVE.

APPLICATION

Role = {"application"}
This element represents an application, where assistive technologies should switch to a mode that passes most or all standard input events through to the application.
Role = {"banner"}
This component is a landmark that contains site-oriented content, typically at the top of the page.

BUTTON

Role = {"button"}
This component is a button. It likely contains text or an icon or a picture, and tapping it performs an action. The “activate” standard action should be supported.

CALENDAR

Role = {"calendar"}
This element represents a calendar. The ICollectionInfo interface should be supported.

CAPTION

Role = {"caption"}
This element represents a caption or title for a table or figure.

CELL

Role = {"cell"}
This component is a cell in a tabular container. The ICollectionItemInfo interface should be supported.

CHECKBOX

Role = {"checkbox"}
This component is a checkbox, and can be checked, unchecked, or mixed. The ICheckable interface should be supported.

COLUMN_HEADER

Role = {"columnheader"}
This element is a cell containing header information for a column. The ICollectionItemInfo interface should be supported.

COMBO_BOX

Role = {"combobox"}
This component represents a combo box, which allows the user to select among several choices. The IExpandable interface should be supported.

COMPLEMENTARY

Role = {"complementary"}
This element is a supporting landmark region that complements the main content.

CONTENT_INFO

Role = {"contentinfo"}
This component is a landmark that contains information about the parent document, such as copyright or metadata.

DIALOG

Role = {"dialog"}
This component is a descendant window of the primary application window, which is used to prompt the user to enter or respond to information. The IPane interface should be supported.

DOCUMENT

Role = {"document"}
This component containing content that assistive technology users may want to browse in a reading mode.

EDIT

Role = {"edit"}
This component contains editable text. The IEditable interface is required.

FIGURE

Role = {"figure"}
This element represents a figure inside page content where appropriate semantics do not already exist. A figure is generally considered to be one or more images, code snippets, or other content that puts across information in a different way to a regular flow of text.

FORM

Role = {"form"}
This element is a landmark region that contains a collection of items and objects that, as a whole, combine to create a form.

GENERIC_CONTAINER

Role = {"genericcontainer"}
This component is a generic nameless container with no semantic meaning.

GROUP

Role = {"group"}
This component is a named container that contains a set of related user interface objects to form a logical group.
Role = {"header"}
This component is a header for a content section (e.g. the title of a navigation bar).

IMAGE

Role = {"image"}
This component represents an image.

IMAGE_BUTTON

Role = {"imagebutton"}
The component should be treated as a button and is also an image. The “activate” standard action should be supported.

KEYBOARD

Role = {"keyboard"}
This element contains an on-screen keyboard. The ICollectionInfo interface should be supported.

KEY

Role = {"key"}
This element represents a key on an on-screen keyboard. The ICollectionItemInfo interface and “activate” standard action should be supported.
Role = {"link"}
This element is a link. The “activate” standard action should be supported.

LIST

Role = {"list"}
This component is a region containing a list of listitem. The ICollectionInfo interface should be supported.

LIST_ITEM

Role = {"listitem"}
This component is an individual item in a list. A listitem must have list ancestor. The ICollectionItemInfo interface should be supported.

LOG

Role = {"log"}
This component is a live region where new information is added in meaningful order and old information may disappear. The ILiveRegion::mode should return LiveRegionMode2::POLITE.

MAIN

Role = {"main"}
This element is a landmark region containing the main content of a document.

MARQUEE

Role = {"marquee"}
This component is a live region where non-essential information changes frequently. The ILiveRegion::mode should return LiveRegionMode2::OFF.

MATH

Role = {"math"}
This component contains content that represents mathematical expressions marked up in an accessible format such as MathML.
Role = {"menu"}
This element represents a menu of items. The ICollectionInfo interface should be supported.
Role = {"menubar"}
The component is a container of multiple menus. The ICollectionInfo interface should be supported.
Role = {"menuitem"}
This element represents a menu item. The ICollectionItemInfo interface should be supported.

METER

Role = {"meter"}
This component represents a graphical display of a numeric value within a defined range (e.g. showing battery percentage). The IValue interface should be supported.
Role = {"navigation"}
This element is a landmark that contains a collection of navigational links used for navigating through a website or page content.

NOTE

Role = {"note"}
This element is parenthetic or ancillary content to the main content.

PAGER

Role = {"pager"}
This component displays a series of components one at a time, which is commonly used with UI like a setup wizard or a slideshow. The IPageable and ICollectionInfo interfaces should be supported.

PARAGRAPH

Role = {"paragraph"}
This element contains a paragraph of text.

PROGRESS_BAR

Role = {"progressbar"}
This element is a progress bar. The IValue interface is required if the progress bar displays determinate progress.

RADIO_BUTTON

Role = {"radiobutton"}
This component is a radio button in a group of radio buttons, it can be checked or unchecked. The ICheckable and ICollectionItemInfo interfaces should be supported.

RADIO_GROUP

Role = {"radiogroup"}
This component contains a group of radio buttons. The ICollectionInfo interface should be supported.

REGION

Role = {"region"}
This component is a landmark region that contains content sufficiently important that users will likely want to navigate to the section easily and to have it listed in a summary of the page. The description property is required to describe the purpose of the content in the region.

ROW

Role = {"row"}
This component is a row of cells in a tabular container. The ICollectionInfo interface should be supported.

ROW_HEADER

Role = {"rowheader"}
This element is a cell containing header information for a row. The ICollectionItemInfo interface should be supported.

SCROLL_BAR

Role = {"scrollbar"}
This component represents a scroll bar that controls the scrolling of a region. The IValue interface should be supported
Role = {"search"}
This component is a text field component that should also be treated as a search field. The IEditable interface should be supported.

SEARCH_REGION

Role = {"searchregion"}
This element is a landmark region that contains a collection of items and objects that, as a whole, combine to create a search facility.

SEPARATOR

Role = {"separator"}
This element is a divider that separates and distinguishes sections of content or groups of menuitems. If the separator is focusable, the IValue interface should be supported to reflect the current position of the separator.

SPIN_BUTTON

Role = {"spinbutton"}
This component allows the user to select from the given range through the use of an up and down button on the screen or on the keyboard. The IAdjustable and IValue interfaces are required.

STATUS

Role = {"status"}
This component is a live region containing advisory information for the user that is not important enough to be an alert. The ILiveRegion::mode should return LiveRegionMode2::POLITE.

SUMMARY

Role = {"summary"}
This component is used when a component can be used to provide a quick summary of current conditions in the app when the app first launches. The IPane interface should be supported.

SWITCH

Role = {"switch"}
This component is a switch which can be turned on and off, as opposed to checked/unchecked. The ISwitchable interface should be supported.

TAB

Role = {"tab"}
This component is a tab. The ICollectionItemInfo and ISelectable interfaces should be supported.

TAB_LIST

Role = {"tablist"}
This component is a region containing a list of tab components. The ICollectionInfo interface should be supported.

TABLE

Role = {"table"}
This component is a section containing data arranged in rows and columns. The ICollectionInfo interface should be supported.

TEXT

Role = {"text"}
This component is static text that cannot change. IElementDescription::text should return the text.

TIMER

Role = {"timer"}
This component is a region displaying a counter that indicates elapsed time or time remaining. The ILiveRegion::mode should return LiveRegionMode2::OFF and IValue interfaces should be supported.

TOOL_BAR

Role = {"toolbar"}
This component represents a tool bar (a container of action buttons or components). The ICollectionInfo interface should be supported.

TOOLTIP

Role = {"tooltip"}
This component is a contextual text bubble that displays a description for an element that appears on pointer hover or keyboard focus.

TREE

Role = {"tree"}
This component is a hierarchical list with parent and child nodes that can expand and collapse.

TREE_ITEM

Role = {"treeitem"}
This element is an individual node in a tree component.
Last modified on October 29, 2026