зеркало из https://github.com/mozilla/gecko-dev.git
Bug 498277 - nsARIAGridAccessible is used for html:table with role='grid', r=davidb, r=MarcoZ
This commit is contained in:
Родитель
c1e420fdbe
Коммит
6f76ac0679
|
@ -1554,16 +1554,21 @@ NS_IMETHODIMP nsAccessibilityService::GetAccessible(nsIDOMNode *aNode,
|
|||
tryTagNameOrFrame = PR_FALSE;
|
||||
}
|
||||
|
||||
if (roleMapEntry && (!partOfHTMLTable || !tryTagNameOrFrame ||
|
||||
frameType != nsAccessibilityAtoms::tableOuterFrame)) {
|
||||
// Try to create ARIA grid/treegrid accessibles.
|
||||
if (roleMapEntry->role == nsIAccessibleRole::ROLE_TABLE ||
|
||||
roleMapEntry->role == nsIAccessibleRole::ROLE_TREE_TABLE) {
|
||||
newAcc = new nsARIAGridAccessibleWrap(aNode, aWeakShell);
|
||||
} else if (roleMapEntry->role == nsIAccessibleRole::ROLE_GRID_CELL ||
|
||||
roleMapEntry->role == nsIAccessibleRole::ROLE_ROWHEADER ||
|
||||
roleMapEntry->role == nsIAccessibleRole::ROLE_COLUMNHEADER) {
|
||||
newAcc = new nsARIAGridCellAccessible(aNode, aWeakShell);
|
||||
if (roleMapEntry) {
|
||||
// Create ARIA grid/treegrid accessibles if node is not of a child or
|
||||
// valid child of HTML table and is not a HTML table.
|
||||
if ((!partOfHTMLTable || !tryTagNameOrFrame) &&
|
||||
frameType != nsAccessibilityAtoms::tableOuterFrame) {
|
||||
|
||||
if (roleMapEntry->role == nsIAccessibleRole::ROLE_TABLE ||
|
||||
roleMapEntry->role == nsIAccessibleRole::ROLE_TREE_TABLE) {
|
||||
newAcc = new nsARIAGridAccessibleWrap(aNode, aWeakShell);
|
||||
|
||||
} else if (roleMapEntry->role == nsIAccessibleRole::ROLE_GRID_CELL ||
|
||||
roleMapEntry->role == nsIAccessibleRole::ROLE_ROWHEADER ||
|
||||
roleMapEntry->role == nsIAccessibleRole::ROLE_COLUMNHEADER) {
|
||||
newAcc = new nsARIAGridCellAccessible(aNode, aWeakShell);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче