Preferences: Improve accessibility of the JS tabs of Preferences
This enables keyboard accessibility of the tabs, by only allowing
focus on one tab element using tabindex=0 and tabindex=-1 for the
other tabs. Navigation between tabs is then handled by using the left
and right arrow keys. This is the advised methodology.
We also add tab, tabpanel and tablist roles to improve accessibility
for assistive technology, while overriding the implicit tablist role
of the li element with 'presentation' to make sure we don't have mixed
semantics of lists and tabs.
We keep track of:
aria-selected: If this tab is currently selected
aria-controls: Which tabpanel is controlled by this tab
aria-labelledby: Which tab is the label for this tabpanel
aria-hidden: If this tabpanel is (not) visible
Tested using VoiceOver. Should also work with JAWS 14.
Change-Id: Ica447a3b6f08422fd3c7452a5bd87d509dad9870