Index: chrome/browser/resources/shared/js/cr/ui/list_selection_controller.js |
diff --git a/chrome/browser/resources/shared/js/cr/ui/list_selection_controller.js b/chrome/browser/resources/shared/js/cr/ui/list_selection_controller.js |
index 7b45629a62875e59976de517661aa61c62932a60..16d1c39ce05802ece5aab1d0e79c561540f9a69c 100644 |
--- a/chrome/browser/resources/shared/js/cr/ui/list_selection_controller.js |
+++ b/chrome/browser/resources/shared/js/cr/ui/list_selection_controller.js |
@@ -223,7 +223,21 @@ cr.define('cr.ui', function() { |
} |
} |
- switch (e.keyIdentifier) { |
+ // Special case: if ChromeVox is running (which provides spoken |
Ivan Korotkov
2012/05/04 17:02:27
Can you instead change GridSelectionController's g
dmazzoni
2012/05/04 17:48:00
Sure, moved to grid.js. This should apply to any g
|
+ // feedback for accessibility), make up/down behave the same as |
+ // left/right. That's because the 2-dimensional structure of the |
+ // list isn't exposed, so it makes more sense to a user who is |
+ // relying on spoken feedback. |
+ var keyIdentifier = e.keyIdentifier; |
+ if (window.cvox && cvox.Api && cvox.Api && cvox.Api.isChromeVoxActive && |
+ cvox.Api.isChromeVoxActive()) { |
+ if (keyIdentifier == 'Up') |
+ keyIdentifier = 'Left'; |
+ if (keyIdentifier == 'Down') |
+ keyIdentifier = 'Right'; |
+ } |
+ |
+ switch (keyIdentifier) { |
case 'Home': |
newIndex = this.getFirstIndex(); |
break; |