Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4380)

Unified Diff: chrome/browser/resources/shared/js/cr/ui/grid.js

Issue 10376003: Improve accessibility of user image selection screen. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address comments by ivankr Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/resources/shared/js/cr/ui/grid.js
diff --git a/chrome/browser/resources/shared/js/cr/ui/grid.js b/chrome/browser/resources/shared/js/cr/ui/grid.js
index d078afe9189cf49e9b08f79dd20be6402c592b85..f25c8e8ec42f1c427c0a54f5569054dc5eec4c75 100644
--- a/chrome/browser/resources/shared/js/cr/ui/grid.js
+++ b/chrome/browser/resources/shared/js/cr/ui/grid.js
@@ -350,12 +350,27 @@ cr.define('cr.ui', function() {
__proto__: ListSelectionController.prototype,
/**
+ * Check if accessibility is enabled: if ChromeVox is running
+ * (which provides spoken feedback for accessibility), make up/down
+ * behave the same as left/right. That's because the 2-dimensional
+ * structure of the grid isn't exposed, so it makes more sense to a
+ * user who is relying on spoken feedback to flatten it.
+ * @return {boolean} True if accessibility is enabled.
+ */
+ isAccessibilityEnabled: function() {
+ return (window.cvox && cvox.Api && cvox.Api &&
Evan Stade 2012/05/07 20:58:02 cvox.Api checked twice
+ cvox.Api.isChromeVoxActive && cvox.Api.isChromeVoxActive());
+ },
+
+ /**
* Returns the index below (y axis) the given element.
* @param {number} index The index to get the index below.
* @return {number} The index below or -1 if not found.
* @override
*/
getIndexBelow: function(index) {
+ if (this.isAccessibilityEnabled())
+ return this.getIndexAfter(index);
var last = this.getLastIndex();
if (index == last) {
Evan Stade 2012/05/07 20:58:02 no curlies
return -1;
@@ -371,6 +386,8 @@ cr.define('cr.ui', function() {
* @override
*/
getIndexAbove: function(index) {
+ if (this.isAccessibilityEnabled())
+ return this.getIndexBefore(index);
if (index == 0) {
Evan Stade 2012/05/07 20:58:02 no curlies
return -1;
}

Powered by Google App Engine
This is Rietveld 408576698