diff --git a/accessible/base/ARIAMap.cpp b/accessible/base/ARIAMap.cpp index 4cc313e6db..cb285c4d3a 100644 --- a/accessible/base/ARIAMap.cpp +++ b/accessible/base/ARIAMap.cpp @@ -32,10 +32,6 @@ static const uint32_t kGenericAccType = 0; * * When no Role enum mapping exists for an ARIA role, the role will be exposed * via the object attribute "xml-roles". - * - * There are no Role enums for the following landmark roles: - * banner, contentinfo, main, navigation, note, search, secondary, - * seealso, breadcrumbs. */ static nsRoleMapEntry sWAIRoleMaps[] = @@ -67,7 +63,7 @@ static nsRoleMapEntry sWAIRoleMaps[] = eNoValue, eNoAction, eNoLiveAttr, - kGenericAccType, + eLandmark, kNoReqStates }, { // article @@ -81,6 +77,16 @@ static nsRoleMapEntry sWAIRoleMaps[] = kNoReqStates, eReadonlyUntilEditable }, + { // banner + &nsGkAtoms::banner, + roles::NOTHING, + kUseNativeRole, + eNoValue, + eNoAction, + eNoLiveAttr, + eLandmark, + kNoReqStates + }, { // button &nsGkAtoms::button, roles::PUSHBUTTON, @@ -129,6 +135,26 @@ static nsRoleMapEntry sWAIRoleMaps[] = eARIAReadonly, eARIAOrientation }, + { // complementary + &nsGkAtoms::complementary, + roles::NOTHING, + kUseNativeRole, + eNoValue, + eNoAction, + eNoLiveAttr, + eLandmark, + kNoReqStates + }, + { // contentinfo + &nsGkAtoms::contentinfo, + roles::NOTHING, + kUseNativeRole, + eNoValue, + eNoAction, + eNoLiveAttr, + eLandmark, + kNoReqStates + }, { // dialog &nsGkAtoms::dialog, roles::DIALOG, @@ -167,7 +193,7 @@ static nsRoleMapEntry sWAIRoleMaps[] = eNoValue, eNoAction, eNoLiveAttr, - kGenericAccType, + eLandmark, kNoReqStates }, { // grid @@ -290,6 +316,16 @@ static nsRoleMapEntry sWAIRoleMaps[] = kGenericAccType, kNoReqStates }, + { // main + &nsGkAtoms::main, + roles::NOTHING, + kUseNativeRole, + eNoValue, + eNoAction, + eNoLiveAttr, + eLandmark, + kNoReqStates + }, { // marquee &nsGkAtoms::marquee, roles::ANIMATION, @@ -366,6 +402,16 @@ static nsRoleMapEntry sWAIRoleMaps[] = kNoReqStates, eARIACheckableBool }, + { // navigation + &nsGkAtoms::navigation, + roles::NOTHING, + kUseNativeRole, + eNoValue, + eNoAction, + eNoLiveAttr, + eLandmark, + kNoReqStates + }, { // none &nsGkAtoms::none, roles::NOTHING, @@ -496,6 +542,29 @@ static nsRoleMapEntry sWAIRoleMaps[] = eARIAOrientation, eARIAReadonly }, + { // search + &nsGkAtoms::search, + roles::NOTHING, + kUseNativeRole, + eNoValue, + eNoAction, + eNoLiveAttr, + eLandmark, + kNoReqStates + }, + { // searchbox + &nsGkAtoms::searchbox, + roles::ENTRY, + kUseMapRole, + eNoValue, + eActivateAction, + eNoLiveAttr, + kGenericAccType, + kNoReqStates, + eARIAAutoComplete, + eARIAMultiline, + eARIAReadonlyOrEditable + }, { // separator &nsGkAtoms::separator_, roles::SEPARATOR, @@ -540,6 +609,17 @@ static nsRoleMapEntry sWAIRoleMaps[] = kGenericAccType, kNoReqStates }, + { // switch + &nsGkAtoms::_switch, + roles::SWITCH, + kUseMapRole, + eNoValue, + eCheckUncheckAction, + eNoLiveAttr, + kGenericAccType, + kNoReqStates, + eARIACheckableBool + }, { // tab &nsGkAtoms::tab, roles::PAGETAB, diff --git a/accessible/base/AccIterator.cpp b/accessible/base/AccIterator.cpp index dd47b02127..80412cda99 100644 --- a/accessible/base/AccIterator.cpp +++ b/accessible/base/AccIterator.cpp @@ -141,7 +141,7 @@ HTMLLabelIterator::Next() // element, or