Create a new internal role EDITCOMBOBOX so that we can distinguish
comboboxes with a text input (which is the case for the ARIA role)
from those which consist of only a popup button and associated list
(which is the case for the select element with a size of 1). Also
change the type of ARIA combobox from kGenericAccType to eCombobox
so that IsCombobox() will return true for both EDITCOMBOBOX and
COMBOBOX. Lastly, call IsCombobox() rather than role() when assigning
internal roles to descendants of comboboxes and emitting accessibility
events.
--HG--
extra : rebase_source : 3e31f2e2423d6cc7697b03c9afb3b1f8c136675a
Create a new internal role EDITCOMBOBOX so that we can distinguish
comboboxes with a text input (which is the case for the ARIA role)
from those which consist of only a popup button and associated list
(which is the case for the select element with a size of 1). Also
change the type of ARIA combobox from kGenericAccType to eCombobox
so that IsCombobox() will return true for both EDITCOMBOBOX and
COMBOBOX. Lastly, call IsCombobox() rather than role() when assigning
internal roles to descendants of comboboxes.
Perform a sanity check in Accessible::ARIATransformRole() for the
internal REGION role: If there is no accessible name, transform
the ARIA role into the native host language role. Also perform
a sanity check when getting the AXSubrole in macOS: If the roleAtom
is nsGkAtoms::region, only return AXLandmarkRegion if the internal
role is REGION.
Create a new internal REGION role which maps to the generic landmark role
of each platform accessibility API. Update the internal mapping of region
from roles::PANE and kGenericAccType to roles::REGION and eLandmark. Also
change the AXSubrole of region from "AXDocumentRegion" to "AXLandmarkRegion",
the latter being what is specified in the Core AAM 1.1 and used in Safari.
Add eHasValueMinMaxIfFocusable to the ARIA role map so that we can
take the accessible element's interactive state into account when
determining if the value interface should be supported.
Create states::CURRENT and add it to the list of "universal" (global)
ARIA states. Map states::CURRENT to ATK_STATE_ACTIVE and emit accessible
state-change notifications when the value of aria-current is modified.
Move the object attribute exposure of states::HASPOPUP from the ATK wrapper
code to the shared accessibility code. Call UniversalStatesFor() rather than
State() for performance.
--HG--
extra : rebase_source : e31c2d00da302538a7f6962d8f4dfd148a7d877e
In ARIA 1.1, aria-readonly became a supported property of switch,
menuitemcheckbox, menuitemradio, and radiogroup.
aria-checked is not, and has not been, a supported property of menuitem.
This property should only be supported on checkable subclasses of the
ARIA menuitem role, namely menuitemcheckbox and menuitemradio.
In ARIA 1.1, "undefined" was added as a possible value of aria-orientation,
and the default value for the combobox and treegrid roles. Therefore, remove
states::VERTICAL from the nsRoleMapEntry for these two roles and update the
associated mochitest expectations. The rest of the ARIA roles which support
aria-orientation have the correct defaults and test coverage.