diff options
author | Marvin Borner | 2018-07-13 19:06:45 +0200 |
---|---|---|
committer | Marvin Borner | 2018-07-13 19:06:45 +0200 |
commit | 6fcfb7c04d32e1c8b26a312295bf7ac3ec2d2ad7 (patch) | |
tree | dbc87ef16fa01d5d99116de283592b8fe5e02944 /public/bower_components/select2/tests/a11y | |
parent | dfd839f27146df0ad0494e11734fc7d310c70ebf (diff) |
Fixed many permissions and began admin interface
Diffstat (limited to 'public/bower_components/select2/tests/a11y')
-rw-r--r-- | public/bower_components/select2/tests/a11y/search-tests.js | 51 | ||||
-rw-r--r-- | public/bower_components/select2/tests/a11y/selection-tests.js | 154 |
2 files changed, 205 insertions, 0 deletions
diff --git a/public/bower_components/select2/tests/a11y/search-tests.js b/public/bower_components/select2/tests/a11y/search-tests.js new file mode 100644 index 0000000..58e5649 --- /dev/null +++ b/public/bower_components/select2/tests/a11y/search-tests.js @@ -0,0 +1,51 @@ +module('Accessibility - Search'); + +var MultipleSelection = require('select2/selection/multiple'); +var InlineSearch = require('select2/selection/search'); + +var $ = require('jquery'); + +var Utils = require('select2/utils'); +var Options = require('select2/options'); +var options = new Options({}); + +test('aria-autocomplete attribute is present', function (assert) { + var $select = $('#qunit-fixture .multiple'); + + var CustomSelection = Utils.Decorate(MultipleSelection, InlineSearch); + var selection = new CustomSelection($select, options); + var $selection = selection.render(); + + // Update the selection so the search is rendered + selection.update([]); + + assert.equal( + $selection.find('input').attr('aria-autocomplete'), + 'list', + 'The search box is marked as autocomplete' + ); +}); + +test('aria-activedescendant should be removed when closed', function (assert) { + var $select = $('#qunit-fixture .multiple'); + + var CustomSelection = Utils.Decorate(MultipleSelection, InlineSearch); + var selection = new CustomSelection($select, options); + var $selection = selection.render(); + + var container = new MockContainer(); + selection.bind(container, $('<span></span>')); + + // Update the selection so the search is rendered + selection.update([]); + + var $search = $selection.find('input'); + $search.attr('aria-activedescendant', 'something'); + + container.trigger('close'); + + assert.ok( + !$search.attr('aria-activedescendant'), + 'There is no active descendant when the dropdown is closed' + ); +}); diff --git a/public/bower_components/select2/tests/a11y/selection-tests.js b/public/bower_components/select2/tests/a11y/selection-tests.js new file mode 100644 index 0000000..e2c1460 --- /dev/null +++ b/public/bower_components/select2/tests/a11y/selection-tests.js @@ -0,0 +1,154 @@ +module('Accessibility - All'); + +var BaseSelection = require('select2/selection/base'); +var SingleSelection = require('select2/selection/single'); +var MultipleSelection = require('select2/selection/multiple'); + +var $ = require('jquery'); + +var Options = require('select2/options'); +var options = new Options({}); + +test('title is carried over from original element', function (assert) { + var $select = $('#qunit-fixture .single'); + + var selection = new BaseSelection($select, options); + var $selection = selection.render(); + + assert.equal( + $selection.attr('title'), + $select.attr('title'), + 'The title should have been copied over from the original element' + ); +}); + +test('aria-expanded reflects the state of the container', function (assert) { + var $select = $('#qunit-fixture .single'); + + var selection = new BaseSelection($select, options); + var $selection = selection.render(); + + var container = new MockContainer(); + + selection.bind(container, $('<span></span>')); + + assert.equal( + $selection.attr('aria-expanded'), + 'false', + 'The container should not be expanded when it is closed' + ); + + container.trigger('open'); + + assert.equal( + $selection.attr('aria-expanded'), + 'true', + 'The container should be expanded when it is opened' + ); +}); + +test('static aria attributes are present', function (assert) { + var $select = $('#qunit-fixture .single'); + + var selection = new BaseSelection($select, options); + var $selection = selection.render(); + + assert.equal( + $selection.attr('role'), + 'combobox', + 'The container should identify as a combobox' + ); + + assert.equal( + $selection.attr('aria-haspopup'), + 'true', + 'The dropdown is considered a popup of the container' + ); +}); + +test('the container should be in the tab order', function (assert) { + var $select = $('#qunit-fixture .single'); + + var selection = new BaseSelection($select, options); + var $selection = selection.render(); + + var container = new MockContainer(); + selection.bind(container, $('<span></span>')); + + assert.equal( + $selection.attr('tabindex'), + '0', + 'The tab index should allow it to fit in the natural tab order' + ); + + container.trigger('disable'); + + assert.equal( + $selection.attr('tabindex'), + '-1', + 'The selection should be dropped out of the tab order when disabled' + ); + + container.trigger('enable'); + + assert.equal( + $selection.attr('tabindex'), + '0', + 'The tab index should be restored when re-enabled' + ); +}); + +test('a custom tabindex is copied', function (assert) { + var $select = $('#qunit-fixture .single'); + $select.attr('tabindex', '999'); + + var selection = new BaseSelection($select, options); + var $selection = selection.render(); + + var container = new MockContainer(); + selection.bind(container, $('<span></span>')); + + assert.equal( + $selection.attr('tabindex'), + '999', + 'The tab index should match the original tab index' + ); + + container.trigger('disable'); + + assert.equal( + $selection.attr('tabindex'), + '-1', + 'The selection should be dropped out of the tab order when disabled' + ); + + container.trigger('enable'); + + assert.equal( + $selection.attr('tabindex'), + '999', + 'The tab index should be restored when re-enabled' + ); +}); + +module('Accessibility - Single'); + +test('aria-labelledby should match the rendered container', function (assert) { + var $select = $('#qunit-fixture .single'); + + var selection = new SingleSelection($select, options); + var $selection = selection.render(); + + var container = new MockContainer(); + selection.bind(container, $('<span></span>')); + + var $rendered = $selection.find('.select2-selection__rendered'); + + assert.equal( + $selection.attr('aria-labelledby'), + $rendered.attr('id'), + 'The rendered selection should label the container' + ); +}); + +module('Accessibility - Multiple'); |