52 lines
1.5 KiB
JavaScript
52 lines
1.5 KiB
JavaScript
|
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'
|
||
|
);
|
||
|
});
|