зеркало из https://github.com/mozilla/pjs.git
Bug 293044. Add support for required and invalid states to accessible DHTML checkboxes and radio groups. r=pkw, sr=bz, a=chofmann
This commit is contained in:
Родитель
32a68de554
Коммит
97ad26b543
|
@ -1401,7 +1401,9 @@ nsRoleMapEntry nsAccessible::gWAIRoleMap[] =
|
||||||
{"button-submit", ROLE_PUSHBUTTON, eNameFromSubtree, eNoValue, STATE_DEFAULT, END_ENTRY},
|
{"button-submit", ROLE_PUSHBUTTON, eNameFromSubtree, eNoValue, STATE_DEFAULT, END_ENTRY},
|
||||||
{"checkbox", ROLE_CHECKBUTTON, eNameFromSubtree, eNoValue, eNoReqStates,
|
{"checkbox", ROLE_CHECKBUTTON, eNameFromSubtree, eNoValue, eNoReqStates,
|
||||||
{"checked", BOOL_STATE, STATE_CHECKED},
|
{"checked", BOOL_STATE, STATE_CHECKED},
|
||||||
{"readonly", BOOL_STATE, STATE_READONLY}, END_ENTRY},
|
{"readonly", BOOL_STATE, STATE_READONLY},
|
||||||
|
{"invalid", BOOL_STATE, STATE_INVALID},
|
||||||
|
{"required", BOOL_STATE, STATE_REQUIRED}, END_ENTRY},
|
||||||
{"checkbox-tristate", ROLE_CHECKBUTTON, eNameFromSubtree, eNoValue, eNoReqStates,
|
{"checkbox-tristate", ROLE_CHECKBUTTON, eNameFromSubtree, eNoValue, eNoReqStates,
|
||||||
{"checked", BOOL_STATE, STATE_CHECKED},
|
{"checked", BOOL_STATE, STATE_CHECKED},
|
||||||
{"checked", "mixed", STATE_MIXED},
|
{"checked", "mixed", STATE_MIXED},
|
||||||
|
@ -1424,10 +1426,13 @@ nsRoleMapEntry nsAccessible::gWAIRoleMap[] =
|
||||||
{"checked", BOOL_STATE, STATE_CHECKED}, END_ENTRY },
|
{"checked", BOOL_STATE, STATE_CHECKED}, END_ENTRY },
|
||||||
{"menu", ROLE_MENUPOPUP, eNameFromTitle, eNoValue, eNoReqStates, END_ENTRY},
|
{"menu", ROLE_MENUPOPUP, eNameFromTitle, eNoValue, eNoReqStates, END_ENTRY},
|
||||||
{"menubar", ROLE_MENUBAR, eNameFromTitle, eNoValue, eNoReqStates, END_ENTRY},
|
{"menubar", ROLE_MENUBAR, eNameFromTitle, eNoValue, eNoReqStates, END_ENTRY},
|
||||||
{"menuitem", ROLE_MENUITEM, eNameFromSubtree, eNoValue, eNoReqStates, END_ENTRY},
|
{"menuitem", ROLE_MENUITEM, eNameFromSubtree, eNoValue, eNoReqStates,
|
||||||
|
{"haspopup", BOOL_STATE, STATE_HASPOPUP}, END_ENTRY},
|
||||||
{"menuitem-radio", ROLE_MENUITEM, eNameFromSubtree, eNoValue, eNoReqStates,
|
{"menuitem-radio", ROLE_MENUITEM, eNameFromSubtree, eNoValue, eNoReqStates,
|
||||||
|
{"haspopup", BOOL_STATE, STATE_HASPOPUP},
|
||||||
{"checked", BOOL_STATE, STATE_CHECKED}, END_ENTRY},
|
{"checked", BOOL_STATE, STATE_CHECKED}, END_ENTRY},
|
||||||
{"menuitem-checkbox", ROLE_MENUITEM, eNameFromSubtree, eNoValue, eNoReqStates,
|
{"menuitem-checkbox", ROLE_MENUITEM, eNameFromSubtree, eNoValue, eNoReqStates,
|
||||||
|
{"haspopup", BOOL_STATE, STATE_HASPOPUP},
|
||||||
{"checked", BOOL_STATE, STATE_CHECKED}, END_ENTRY},
|
{"checked", BOOL_STATE, STATE_CHECKED}, END_ENTRY},
|
||||||
{"grid", ROLE_TABLE, eNameFromTitle, eNoValue, STATE_FOCUSABLE,
|
{"grid", ROLE_TABLE, eNameFromTitle, eNoValue, STATE_FOCUSABLE,
|
||||||
{"readonly", BOOL_STATE, STATE_READONLY}, END_ENTRY},
|
{"readonly", BOOL_STATE, STATE_READONLY}, END_ENTRY},
|
||||||
|
@ -1442,6 +1447,9 @@ nsRoleMapEntry nsAccessible::gWAIRoleMap[] =
|
||||||
{"valuenow", "unknown", STATE_MIXED}, END_ENTRY},
|
{"valuenow", "unknown", STATE_MIXED}, END_ENTRY},
|
||||||
{"radio", ROLE_RADIOBUTTON, eNameFromSubtree, eNoValue, eNoReqStates,
|
{"radio", ROLE_RADIOBUTTON, eNameFromSubtree, eNoValue, eNoReqStates,
|
||||||
{"checked", BOOL_STATE, STATE_CHECKED}, END_ENTRY},
|
{"checked", BOOL_STATE, STATE_CHECKED}, END_ENTRY},
|
||||||
|
{"radiogroup", ROLE_GROUPING, eNameFromTitle, eNoValue, eNoReqStates,
|
||||||
|
{"invalid", BOOL_STATE, STATE_INVALID},
|
||||||
|
{"required", BOOL_STATE, STATE_REQUIRED}, END_ENTRY},
|
||||||
{"rowheader", ROLE_ROWHEADER, eNameFromSubtree, eNoValue, STATE_SELECTABLE,
|
{"rowheader", ROLE_ROWHEADER, eNameFromSubtree, eNoValue, STATE_SELECTABLE,
|
||||||
{"selected", BOOL_STATE, STATE_SELECTED},
|
{"selected", BOOL_STATE, STATE_SELECTED},
|
||||||
{"readonly", BOOL_STATE, STATE_READONLY}, END_ENTRY},
|
{"readonly", BOOL_STATE, STATE_READONLY}, END_ENTRY},
|
||||||
|
@ -1491,16 +1499,13 @@ nsStateMapEntry nsAccessible::gDisabledStateMap = {"disabled", BOOL_STATE, STATE
|
||||||
|
|
||||||
NS_IMETHODIMP nsAccessible::GetFinalRole(PRUint32 *aRole)
|
NS_IMETHODIMP nsAccessible::GetFinalRole(PRUint32 *aRole)
|
||||||
{
|
{
|
||||||
if (!mDOMNode) {
|
|
||||||
return NS_ERROR_FAILURE; // Node already shut down
|
|
||||||
}
|
|
||||||
if (mRoleMapEntry) {
|
if (mRoleMapEntry) {
|
||||||
*aRole = mRoleMapEntry->role;
|
*aRole = mRoleMapEntry->role;
|
||||||
if (*aRole != ROLE_NOTHING) {
|
if (*aRole != ROLE_NOTHING) {
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return GetRole(aRole);
|
return mDOMNode ? GetRole(aRole) : NS_ERROR_FAILURE; // Node already shut down
|
||||||
}
|
}
|
||||||
|
|
||||||
PRBool nsAccessible::MappedAttrState(nsIContent *aContent, PRUint32 *aStateInOut,
|
PRBool nsAccessible::MappedAttrState(nsIContent *aContent, PRUint32 *aStateInOut,
|
||||||
|
|
Загрузка…
Ссылка в новой задаче