diff options
Diffstat (limited to 'chrome')
13 files changed, 314 insertions, 22 deletions
diff --git a/chrome/browser/ui/webui/bookmarks_ui_browsertest.cc b/chrome/browser/ui/webui/bookmarks_ui_browsertest.cc index 8560489..81afc7f 100644 --- a/chrome/browser/ui/webui/bookmarks_ui_browsertest.cc +++ b/chrome/browser/ui/webui/bookmarks_ui_browsertest.cc @@ -20,7 +20,11 @@ class BookmarksTest : public InProcessBrowserTest { void SetUpOnMainThread() override { InProcessBrowserTest::SetUpOnMainThread(); - EnableAccessibilityChecksForTestCase(true); + + // Re-enable accessibility checks when audit failures are resolved. + // AX_TEXT_01: http://crbug.com/559201 + // AX_ARIA_08: http://crbug.com/559202 + // EnableAccessibilityChecksForTestCase(true); } void OpenBookmarksManager() { diff --git a/chrome/browser/ui/webui/downloads_ui_browsertest.js b/chrome/browser/ui/webui/downloads_ui_browsertest.js index 89fc311..8ffba04 100644 --- a/chrome/browser/ui/webui/downloads_ui_browsertest.js +++ b/chrome/browser/ui/webui/downloads_ui_browsertest.js @@ -120,6 +120,8 @@ EmptyDownloadsWebUITest.prototype = { setUp: function() { // Doesn't create any fake downloads. assertEquals(0, downloads.Manager.size()); + + this.updateAccessibilityAuditConfig(); }, }; diff --git a/chrome/browser/ui/webui/downloads_ui_browsertest_base.js b/chrome/browser/ui/webui/downloads_ui_browsertest_base.js index 4af9e7e..24ec279 100644 --- a/chrome/browser/ui/webui/downloads_ui_browsertest_base.js +++ b/chrome/browser/ui/webui/downloads_ui_browsertest_base.js @@ -47,6 +47,8 @@ BaseDownloadsWebUITest.prototype = { * @override */ setUp: function() { + testing.Test.prototype.setUp.call(this); + this.createdDownloads = []; // The entries will begin at 1:00 AM on Sept 2, 2008, and will be spaced @@ -58,6 +60,26 @@ BaseDownloadsWebUITest.prototype = { } downloads.Manager.updateAll(this.createdDownloads); expectEquals(downloads.Manager.size(), TOTAL_RESULT_COUNT); + + this.updateAccessibilityAuditConfig(); + }, + + /** + * Disables failing accessibility audits. This should be removed when all + * audit issues have been resolved. + */ + updateAccessibilityAuditConfig: function() { + // Enable when failure is resolved. + // AX_TEXT_01: http://crbug.com/559217 + this.accessibilityAuditConfig.ignoreSelectors( + 'controlsWithoutLabel', + '#term'); + + // Enable when failure is resolved. + // AX_FOCUS_03: http://crbug.com/559219 + this.accessibilityAuditConfig.ignoreSelectors( + 'tabIndexGreaterThanZero', + '#term'); }, /** diff --git a/chrome/browser/ui/webui/extensions/extension_settings_browsertest.js b/chrome/browser/ui/webui/extensions/extension_settings_browsertest.js index d7847ef..1aca91b 100644 --- a/chrome/browser/ui/webui/extensions/extension_settings_browsertest.js +++ b/chrome/browser/ui/webui/extensions/extension_settings_browsertest.js @@ -51,7 +51,14 @@ ExtensionSettingsWebUITest.prototype = { /** @override */ setUp: function() { + testing.Test.prototype.setUp.call(this); testing.Test.disableAnimationsAndTransitions(); + + // Enable when failure is resolved. + // AX_ARIA_08: http://crbug.com/560903 + this.accessibilityAuditConfig.ignoreSelectors( + 'requiredOwnedAriaRoleMissing', + '#kiosk-app-list'); }, /** diff --git a/chrome/browser/ui/webui/options/language_options_browsertest.js b/chrome/browser/ui/webui/options/language_options_browsertest.js index fc5ffba..bfd3acb 100644 --- a/chrome/browser/ui/webui/options/language_options_browsertest.js +++ b/chrome/browser/ui/webui/options/language_options_browsertest.js @@ -16,6 +16,23 @@ LanguageOptionsWebUITest.prototype = { /** @override */ browsePreload: 'chrome://settings-frame/languages', + + /** @override */ + setUp: function() { + OptionsBrowsertestBase.prototype.setUp.call(this); + + // Enable when failure is resolved. + // AX_ARIA_10: http://crbug.com/559266 + this.accessibilityAuditConfig.ignoreSelectors( + 'unsupportedAriaAttribute', + '#language-options-list'); + + // Enable when failure is resolved. + // AX_TEXT_04: http://crbug.com/559271 + this.accessibilityAuditConfig.ignoreSelectors( + 'linkWithUnclearPurpose', + '#languagePage > .content-area > .language-options-header > A'); + } }; // Test opening language options has correct location. diff --git a/chrome/browser/ui/webui/options/multilanguage_options_webui_browsertest.js b/chrome/browser/ui/webui/options/multilanguage_options_webui_browsertest.js index 56419fa..deeff84 100644 --- a/chrome/browser/ui/webui/options/multilanguage_options_webui_browsertest.js +++ b/chrome/browser/ui/webui/options/multilanguage_options_webui_browsertest.js @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +GEN_INCLUDE(['options_browsertest_base.js']); GEN('#include "chrome/browser/ui/webui/options/' + 'multilanguage_options_browsertest.h"'); @@ -13,7 +14,7 @@ GEN('#include "chrome/browser/ui/webui/options/' + function MultilanguageOptionsWebUIBrowserTest() {} MultilanguageOptionsWebUIBrowserTest.prototype = { - __proto__: testing.Test.prototype, + __proto__: OptionsBrowsertestBase.prototype, /** @override */ browsePreload: 'chrome://settings-frame/languages', @@ -32,7 +33,7 @@ MultilanguageOptionsWebUIBrowserTest.prototype = { /** @override */ setUp: function() { - testing.Test.prototype.setUp.call(this); + OptionsBrowsertestBase.prototype.setUp.call(this); assertTrue(loadTimeData.getBoolean('enableMultilingualSpellChecker')); assertFalse(cr.isMac); @@ -40,6 +41,29 @@ MultilanguageOptionsWebUIBrowserTest.prototype = { expectFalse($('edit-custom-dictionary-button').hidden); this.expectEnableSpellcheckCheckboxHidden(); this.expectCurrentlySelected('fr'); + + var requiredOwnedAriaRoleMissingSelectors = [ + '#default-search-engine-list', + '#other-search-engine-list', + ]; + + // Enable when failure is resolved. + // AX_ARIA_08: http://crbug.com/559320 + this.accessibilityAuditConfig.ignoreSelectors( + 'requiredOwnedAriaRoleMissing', + requiredOwnedAriaRoleMissingSelectors); + + // Enable when failure is resolved. + // AX_ARIA_10: http://crbug.com/559266 + this.accessibilityAuditConfig.ignoreSelectors( + 'unsupportedAriaAttribute', + '#language-options-list'); + + // Enable when failure is resolved. + // AX_TEXT_04: http://crbug.com/559271 + this.accessibilityAuditConfig.ignoreSelectors( + 'linkWithUnclearPurpose', + '#languagePage > .content-area > .language-options-header > A'); }, /** @override */ @@ -140,7 +164,7 @@ MultilanguagePreferenceWebUIBrowserTest.prototype = { /** @override */ setUp: function() { - testing.Test.prototype.setUp.call(this); + OptionsBrowsertestBase.prototype.setUp.call(this); assertTrue(loadTimeData.getBoolean('enableMultilingualSpellChecker')); assertFalse(cr.isMac); @@ -149,6 +173,18 @@ MultilanguagePreferenceWebUIBrowserTest.prototype = { this.expectEnableSpellcheckCheckboxHidden(); this.expectCurrentlySelected(''); this.expectRegisteredDictionariesPref(''); + + // Enable when failure is resolved. + // AX_ARIA_10: http://crbug.com/559266 + this.accessibilityAuditConfig.ignoreSelectors( + 'unsupportedAriaAttribute', + '#language-options-list'); + + // Enable when failure is resolved. + // AX_TEXT_04: http://crbug.com/559271 + this.accessibilityAuditConfig.ignoreSelectors( + 'linkWithUnclearPurpose', + '#languagePage > .content-area > .language-options-header > A'); }, }; diff --git a/chrome/browser/ui/webui/options/options_browsertest.js b/chrome/browser/ui/webui/options/options_browsertest.js index 895928a..4de8c19 100644 --- a/chrome/browser/ui/webui/options/options_browsertest.js +++ b/chrome/browser/ui/webui/options/options_browsertest.js @@ -79,6 +79,31 @@ OptionsWebUITest.prototype = { this.mockHandler.stubs().observePrefs(ANYTHING); this.mockHandler.stubs().coreOptionsUserMetricsAction(ANYTHING); }, + + /** @override */ + setUp: function() { + OptionsBrowsertestBase.prototype.setUp.call(this); + + // Enable when failure is resolved. + // AX_ARIA_10: http://crbug.com/559329 + this.accessibilityAuditConfig.ignoreSelectors( + 'unsupportedAriaAttribute', + '#profiles-list'); + + var linkWithUnclearPurposeSelectors = [ + '#sync-overview > A', + '#privacy-explanation > A', + '#languages-section > .settings-row > A', + '#cloudprint-options-mdns > .settings-row > A', + '#do-not-track-confirm-overlay > .action-area > .hbox.stretch > A', + ]; + + // Enable when failure is resolved. + // AX_TEXT_04: http://crbug.com/559318 + this.accessibilityAuditConfig.ignoreSelectors( + 'linkWithUnclearPurpose', + linkWithUnclearPurposeSelectors); + }, }; /** @@ -378,6 +403,44 @@ OptionsWebUIExtendedTest.prototype = { /** @override */ typedefCppFixture: 'OptionsBrowserTest', + /** @override */ + setUp: function() { + OptionsWebUITest.prototype.setUp.call(this); + + // Enable when failure is resolved. + // AX_ARIA_10: http://crbug.com/559329 + this.accessibilityAuditConfig.ignoreSelectors( + 'unsupportedAriaAttribute', + '#profiles-list'); + + var controlsWithoutLabelSelectors = [ + '#cookies-view-page > .content-area.cookies-list-content-area > *', + '#other-search-engine-list > .deletable-item > DIV > *', + ]; + + // Enable when failure is resolved. + // AX_TEXT_01: http://crbug.com/559330 + this.accessibilityAuditConfig.ignoreSelectors( + 'controlsWithoutLabel', + controlsWithoutLabelSelectors); + + var linkWithUnclearPurposeSelectors = [ + '#sync-overview > A', + '#privacy-explanation > A', + '#languages-section > .settings-row > A', + '#cloudprint-options-mdns > .settings-row > A', + // Selectors below only affect ChromeOS tests. + '#privacy-section > DIV > DIV:nth-of-type(9) > A', + '#accessibility-learn-more', + ]; + + // Enable when failure is resolved. + // AX_TEXT_04: http://crbug.com/559326 + this.accessibilityAuditConfig.ignoreSelectors( + 'linkWithUnclearPurpose', + linkWithUnclearPurposeSelectors); + }, + testGenPreamble: function() { // Start with no supervised users managed by this profile. GEN(' ClearPref("' + SUPERVISED_USERS_PREF + '");'); diff --git a/chrome/browser/ui/webui/options/options_browsertest_base.js b/chrome/browser/ui/webui/options/options_browsertest_base.js index 1483ba3..e298ea1 100644 --- a/chrome/browser/ui/webui/options/options_browsertest_base.js +++ b/chrome/browser/ui/webui/options/options_browsertest_base.js @@ -16,4 +16,54 @@ OptionsBrowsertestBase.prototype = { /** @override */ accessibilityIssuesAreErrors: true, + + /** @override */ + setUp: function() { + testing.Test.prototype.setUp.call(this); + + var requiredOwnedAriaRoleMissingSelectors = [ + '#address-list', + '#creditcard-list', + '#home-page-overlay > .autocomplete-suggestions', + '#language-options-list', + '#manage-profile-icon-grid', + '#create-profile-icon-grid', + '#saved-passwords-list', + '#password-exceptions-list', + '#extension-keyword-list', + '#startup-overlay > .autocomplete-suggestions', + '#content-settings-exceptions-area > .content-area > *', + '#cookies-list', + '#handlers-list', + '#ignored-handlers-list', + '#supervised-user-list', + '#select-avatar-grid', + '#language-dictionary-overlay-word-list', + // Selectors below only affect ChromeOS tests. + '#bluetooth-unpaired-devices-list', + '#ignored-host-list', + '#remembered-network-list', + '#bluetooth-paired-devices-list', + ]; + + // Enable when failure is resolved. + // AX_ARIA_08: http://crbug.com/559265 + this.accessibilityAuditConfig.ignoreSelectors( + 'requiredOwnedAriaRoleMissing', + requiredOwnedAriaRoleMissingSelectors); + + var tabIndexGreaterThanZeroSelectors = [ + '#user-image-grid', + '#discard-photo', + '#take-photo', + '#flip-photo', + '#change-picture-overlay-confirm', + ]; + + // Enable when failure is resolved. + // AX_FOCUS_03: http://crbug.com/560910 + this.accessibilityAuditConfig.ignoreSelectors( + 'tabIndexGreaterThanZero', + tabIndexGreaterThanZeroSelectors); + }, }; diff --git a/chrome/test/data/chromeos/oobe_webui_browsertest.js b/chrome/test/data/chromeos/oobe_webui_browsertest.js index e2c4ce5..c14bff6 100644 --- a/chrome/test/data/chromeos/oobe_webui_browsertest.js +++ b/chrome/test/data/chromeos/oobe_webui_browsertest.js @@ -57,6 +57,62 @@ OobeWebUITest.prototype = { this.accessibilityAuditConfig.ignoreSelectors( 'focusableElementNotVisibleAndNotAriaHidden', '#iconButton'); + + // Enable when failure is resolved. + // AX_ARIA_02: http://crbug.com/560932 + this.accessibilityAuditConfig.ignoreSelectors( + 'nonExistentAriaRelatedElement', + '#cancelConfirmDlg'); + + var requiredOwnedAriaRoleMissingSelectors = [ + '#networks-list-dropdown-container', + '#offline-networks-list-dropdown-container', + '#supervised-user-creation-image-grid', + 'body > .decorated', + ]; + + // Enable when failure is resolved. + // AX_ARIA_08: http://crbug.com/560924 + this.accessibilityAuditConfig.ignoreSelectors( + 'requiredOwnedAriaRoleMissing', + requiredOwnedAriaRoleMissingSelectors); + + var badAriaAttributeSelectors = [ + '#forgotPasswordDlg', + '#cancelConfirmDlg', + ]; + + // Enable when failure is resolved. + // AX_ARIA_11: http://crbug.com/560935 + this.accessibilityAuditConfig.ignoreSelectors( + 'badAriaAttribute', + badAriaAttributeSelectors); + + var tabIndexGreaterThanZeroSelectors = [ + '#user-image-grid', + '#discard-photo', + '#take-photo', + '#flip-photo', + ]; + + // Enable when failure is resolved. + // AX_FOCUS_03: http://crbug.com/560928 + this.accessibilityAuditConfig.ignoreSelectors( + 'tabIndexGreaterThanZero', + tabIndexGreaterThanZeroSelectors); + + var controlsWithoutLabelSelectors = [ + '#supervised-user-creation-managers-pane', + '#supervised-user-creation-name', + '#supervised-user-creation-password', + '#supervised-user-creation-password-confirm', + ]; + + // Enable when failure is resolved. + // AX_TEXT_01: http://crbug.com/560939 + this.accessibilityAuditConfig.ignoreSelectors( + 'controlsWithoutLabel', + controlsWithoutLabelSelectors); }, }; diff --git a/chrome/test/data/webui/history_browsertest.js b/chrome/test/data/webui/history_browsertest.js index d8792ea..d49ee8b 100644 --- a/chrome/test/data/webui/history_browsertest.js +++ b/chrome/test/data/webui/history_browsertest.js @@ -775,6 +775,17 @@ HistoryWebUIRealBackendTest.prototype = { // Add a visit on the next day. GEN(' AddPageToHistory(36, "http://google.com", "Google");'); }, + + /** @override */ + setUp: function() { + BaseHistoryWebUITest.prototype.setUp.call(this); + + // Enable when failure is resolved. + // AX_TEXT_04: http://crbug.com/560914 + this.accessibilityAuditConfig.ignoreSelectors( + 'linkWithUnclearPurpose', + '#notification-bar > A'); + }, }; /** diff --git a/chrome/test/data/webui/net_internals/net_internals_test.js b/chrome/test/data/webui/net_internals/net_internals_test.js index 56bc93f..b381ec8 100644 --- a/chrome/test/data/webui/net_internals/net_internals_test.js +++ b/chrome/test/data/webui/net_internals/net_internals_test.js @@ -56,6 +56,8 @@ var NetInternalsTest = (function() { isAsync: true, setUp: function() { + testing.Test.prototype.setUp.call(this); + // Enforce accessibility auditing, but suppress some false positives. this.accessibilityIssuesAreErrors = true; // False positive because a unicode character is used to draw a square. @@ -79,6 +81,25 @@ var NetInternalsTest = (function() { this.accessibilityAuditConfig.auditRulesToIgnore.push( 'focusableElementNotVisibleAndNotAriaHidden'); + var controlsWithoutLabelSelectors = [ + '#export-view-user-comments', + '#hsts-view-add-input', + '#hsts-view-delete-input', + '#hsts-view-query-input', + ]; + + // Enable when failure is resolved. + // AX_TEXT_01: http://crbug.com/559203 + this.accessibilityAuditConfig.ignoreSelectors( + 'controlsWithoutLabel', + controlsWithoutLabelSelectors); + + // Enable when warning is resolved. + // AX_HTML_01: http://crbug.com/559204 + this.accessibilityAuditConfig.ignoreSelectors( + 'humanLangMissing', + 'html'); + // Wrap g_browser.receive around a test function so that assert and expect // functions can be called from observers. g_browser.receive = diff --git a/chrome/test/data/webui/print_preview.js b/chrome/test/data/webui/print_preview.js index 2ef9260..7d84ef9 100644 --- a/chrome/test/data/webui/print_preview.js +++ b/chrome/test/data/webui/print_preview.js @@ -166,6 +166,7 @@ PrintPreviewWebUITest.prototype = { * @override */ setUp: function() { + testing.Test.prototype.setUp.call(this); Mock4JS.clearMocksToVerify(); this.initialSettings_ = new print_preview.NativeInitialSettings( @@ -189,6 +190,12 @@ PrintPreviewWebUITest.prototype = { this.nativeLayer_ = printPreview.nativeLayer_; testing.Test.disableAnimationsAndTransitions(); + + // Enable when failure is resolved. + // AX_TEXT_03: http://crbug.com/559209 + this.accessibilityAuditConfig.ignoreSelectors( + 'multipleLabelableElementsPerLabel', + '#page-settings > .right-column > *'); } }; diff --git a/chrome/test/data/webui/test_api.js b/chrome/test/data/webui/test_api.js index 4c2243e..248929b 100644 --- a/chrome/test/data/webui/test_api.js +++ b/chrome/test/data/webui/test_api.js @@ -168,15 +168,10 @@ var testing = {}; /** * Returns the configuration for the accessibility audit, creating it * on-demand. - * @return {axs.AuditConfiguration} + * @return {!axs.AuditConfiguration} */ get accessibilityAuditConfig() { - // The axs namespace is not available in chromevox tests. - // Further, 'window' is not available in unit tests, but since the - // accessibility audit library pulls in the closure library, - // 'goog.global' has to be present if axs is, so we use that here. - if (!this.accessibilityAuditConfig_ && - goog && goog.global && goog.global.axs) { + if (!this.accessibilityAuditConfig_) { this.accessibilityAuditConfig_ = new axs.AuditConfiguration(); this.accessibilityAuditConfig_.showUnsupportedRulesWarning = false; @@ -196,6 +191,10 @@ var testing = {}; // TODO(aboxhall): re-enable when crbug.com/267035 is fixed. // Until then it's just noise. "lowContrastElements", + + // TODO(apacible): re-enable when following issue is fixed. + // github.com/GoogleChrome/accessibility-developer-tools/issues/251 + "tableHasAppropriateHeaders", ]; } return this.accessibilityAuditConfig_; @@ -307,17 +306,14 @@ var testing = {}; * @type {Function} */ setUp: function() { - var auditConfig = this.accessibilityAuditConfig; - if (auditConfig) { - // These should be ignored in many of the web UI tests. - // user-image-stream and supervised-user-creation-image-stream are - // streaming video elements used for capturing a user image so they - // won't have captions and should be ignored everywhere. - auditConfig.ignoreSelectors('videoWithoutCaptions', - '.user-image-stream'); - auditConfig.ignoreSelectors( - 'videoWithoutCaptions', '.supervised-user-creation-image-stream'); - } + // These should be ignored in many of the web UI tests. + // user-image-stream and supervised-user-creation-image-stream are + // streaming video elements used for capturing a user image so they + // won't have captions and should be ignored everywhere. + this.accessibilityAuditConfig.ignoreSelectors('videoWithoutCaptions', + '.user-image-stream'); + this.accessibilityAuditConfig.ignoreSelectors( + 'videoWithoutCaptions', '.supervised-user-creation-image-stream'); }, /** |