Bug 1203283 - Introduce Android "Control" traversal rule. r=yzen

This commit is contained in:
Eitan Isaacson 2015-09-14 10:52:43 -07:00
parent 20ef8ce558
commit c2f13b2d03
2 changed files with 41 additions and 0 deletions

View File

@ -296,6 +296,36 @@ this.TraversalRules = { // jshint ignore:line
}
}),
/* For TalkBack's "Control" granularity. Form conrols and links */
Control: new BaseTraversalRule(
[Roles.PUSHBUTTON,
Roles.SPINBUTTON,
Roles.TOGGLE_BUTTON,
Roles.BUTTONDROPDOWN,
Roles.BUTTONDROPDOWNGRID,
Roles.COMBOBOX,
Roles.LISTBOX,
Roles.ENTRY,
Roles.PASSWORD_TEXT,
Roles.PAGETAB,
Roles.RADIOBUTTON,
Roles.RADIO_MENU_ITEM,
Roles.SLIDER,
Roles.CHECKBUTTON,
Roles.CHECK_MENU_ITEM,
Roles.SWITCH,
Roles.LINK,
Roles.MENUITEM],
function Control_match(aAccessible)
{
// We want to ignore anchors, only focus real links.
if (aAccessible.role == Roles.LINK &&
!Utils.getState(aAccessible).contains(States.LINKED)) {
return Filters.IGNORE;
}
return Filters.MATCH;
}),
List: new BaseTraversalRule(
[Roles.LIST,
Roles.DEFINITION_LIST],

View File

@ -130,6 +130,17 @@
queueTraversalSequence(gQueue, docAcc, TraversalRules.Landmark, null,
['header-1', 'main-1', 'footer-1']);
queueTraversalSequence(gQueue, docAcc, TraversalRules.Control, null,
['input-1-1', 'label-1-2', 'button-1-1',
'radio-1-1', 'radio-1-2', 'input-1-3',
'input-1-4', 'button-1-2', 'checkbox-1-1',
'select-1-1', 'select-1-2', 'checkbox-1-2',
'select-1-3', 'input-1-5', 'button-1-3',
'button-2-1', 'button-2-2', 'button-2-3',
'button-2-4', 'link-0', 'checkbox-1-5',
'link-1', 'link-2', 'link-3', 'switch-1']);
gQueue.invoke();
}