UNPKG

axe-core

Version:

Accessibility engine for automated Web UI testing

453 lines (384 loc) • 15.9 kB
describe('has-widget-role', function () { 'use strict'; var fixture = document.getElementById('fixture'); var node; var checkContext = axe.testUtils.MockCheckContext(); afterEach(function () { node.innerHTML = ''; checkContext._data = null; }); it('should return false for elements with no role', function() { node = document.createElement('div'); fixture.appendChild(node); assert.isFalse(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it('should return false for elements with nonsensical roles', function() { node = document.createElement('div'); node.setAttribute('role', 'buttonbuttonbutton'); fixture.appendChild(node); assert.isFalse(checks['has-widget-role'].evaluate.call(checkContext, node)); }); // Widget roles it('should return true for role=button', function() { node = document.createElement('div'); node.setAttribute('role', 'button'); fixture.appendChild(node); assert.isTrue(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it('should return true for role=checkbox', function() { node = document.createElement('div'); node.setAttribute('role', 'checkbox'); fixture.appendChild(node); assert.isTrue(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it('should return true for role=gridcell', function() { node = document.createElement('div'); node.setAttribute('role', 'gridcell'); fixture.appendChild(node); assert.isTrue(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it('should return true for role=link', function() { node = document.createElement('div'); node.setAttribute('role', 'link'); fixture.appendChild(node); assert.isTrue(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it('should return true for role=menuitem', function() { node = document.createElement('div'); node.setAttribute('role', 'menuitem'); fixture.appendChild(node); assert.isTrue(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it('should return true for role=menuitemcheckbox', function() { node = document.createElement('div'); node.setAttribute('role', 'menuitemcheckbox'); fixture.appendChild(node); assert.isTrue(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it('should return true for role=menuitemradio', function() { node = document.createElement('div'); node.setAttribute('role', 'menuitemradio'); fixture.appendChild(node); assert.isTrue(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it('should return true for role=option', function() { node = document.createElement('div'); node.setAttribute('role', 'option'); fixture.appendChild(node); assert.isTrue(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it('should return true for role=progressbar', function() { node = document.createElement('div'); node.setAttribute('role', 'progressbar'); fixture.appendChild(node); assert.isTrue(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it('should return true for role=radio', function() { node = document.createElement('div'); node.setAttribute('role', 'radio'); fixture.appendChild(node); assert.isTrue(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it('should return true for role=scrollbar', function() { node = document.createElement('div'); node.setAttribute('role', 'scrollbar'); fixture.appendChild(node); assert.isTrue(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it('should return true for role=searchbox', function() { node = document.createElement('div'); node.setAttribute('role', 'searchbox'); fixture.appendChild(node); assert.isTrue(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it('should return true for role=slider', function() { node = document.createElement('div'); node.setAttribute('role', 'slider'); fixture.appendChild(node); assert.isTrue(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it('should return true for role=spinbutton', function() { node = document.createElement('div'); node.setAttribute('role', 'spinbutton'); fixture.appendChild(node); assert.isTrue(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it('should return true for role=switch', function() { node = document.createElement('div'); node.setAttribute('role', 'switch'); fixture.appendChild(node); assert.isTrue(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it('should return true for role=tab', function() { node = document.createElement('div'); node.setAttribute('role', 'tab'); fixture.appendChild(node); assert.isTrue(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it('should return true for role=tabpanel', function() { node = document.createElement('div'); node.setAttribute('role', 'tabpanel'); fixture.appendChild(node); assert.isTrue(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it('should return true for role=textbox', function() { node = document.createElement('div'); node.setAttribute('role', 'textbox'); fixture.appendChild(node); assert.isTrue(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it('should return true for role=treeitem', function() { node = document.createElement('div'); node.setAttribute('role', 'treeitem'); fixture.appendChild(node); assert.isTrue(checks['has-widget-role'].evaluate.call(checkContext, node)); }); // Composite widget roles it('should return true for role=combobox', function() { node = document.createElement('div'); node.setAttribute('role', 'combobox'); fixture.appendChild(node); assert.isTrue(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it('should return true for role=grid', function() { node = document.createElement('div'); node.setAttribute('role', 'grid'); fixture.appendChild(node); assert.isTrue(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it('should return true for role=listbox', function() { node = document.createElement('div'); node.setAttribute('role', 'listbox'); fixture.appendChild(node); assert.isTrue(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it('should return true for role=menu', function() { node = document.createElement('div'); node.setAttribute('role', 'menu'); fixture.appendChild(node); assert.isTrue(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it('should return true for role=menubar', function() { node = document.createElement('div'); node.setAttribute('role', 'menubar'); fixture.appendChild(node); assert.isTrue(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it('should return true for role=radiogroup', function() { node = document.createElement('div'); node.setAttribute('role', 'radiogroup'); fixture.appendChild(node); assert.isTrue(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it('should return true for role=tablist', function() { node = document.createElement('div'); node.setAttribute('role', 'tablist'); fixture.appendChild(node); assert.isTrue(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it('should return true for role=tree', function() { node = document.createElement('div'); node.setAttribute('role', 'tree'); fixture.appendChild(node); assert.isTrue(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it('should return true for role=treegrid', function() { node = document.createElement('div'); node.setAttribute('role', 'treegrid'); fixture.appendChild(node); assert.isTrue(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it ('should return false for role=application', function() { node = document.createElement('div'); node.setAttribute('role', 'application'); fixture.appendChild(node); assert.isFalse(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it ('should return false for role=article', function() { node = document.createElement('div'); node.setAttribute('role', 'article'); fixture.appendChild(node); assert.isFalse(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it ('should return false for role=cell', function() { node = document.createElement('div'); node.setAttribute('role', 'cell'); fixture.appendChild(node); assert.isFalse(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it ('should return false for role=columnheader', function() { node = document.createElement('div'); node.setAttribute('role', 'columnheader'); fixture.appendChild(node); assert.isFalse(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it ('should return false for role=definition', function() { node = document.createElement('div'); node.setAttribute('role', 'definition'); fixture.appendChild(node); assert.isFalse(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it ('should return false for role=directory', function() { node = document.createElement('div'); node.setAttribute('role', 'directory'); fixture.appendChild(node); assert.isFalse(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it ('should return false for role=document', function() { node = document.createElement('div'); node.setAttribute('role', 'document'); fixture.appendChild(node); assert.isFalse(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it ('should return false for role=feed', function() { node = document.createElement('div'); node.setAttribute('role', 'feed'); fixture.appendChild(node); assert.isFalse(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it ('should return false for role=figure', function() { node = document.createElement('div'); node.setAttribute('role', 'figure'); fixture.appendChild(node); assert.isFalse(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it ('should return false for role=group', function() { node = document.createElement('div'); node.setAttribute('role', 'group'); fixture.appendChild(node); assert.isFalse(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it ('should return false for role=heading', function() { node = document.createElement('div'); node.setAttribute('role', 'heading'); fixture.appendChild(node); assert.isFalse(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it ('should return false for role=img', function() { node = document.createElement('div'); node.setAttribute('role', 'img'); fixture.appendChild(node); assert.isFalse(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it ('should return false for role=list', function() { node = document.createElement('div'); node.setAttribute('role', 'list'); fixture.appendChild(node); assert.isFalse(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it ('should return false for role=listitem', function() { node = document.createElement('div'); node.setAttribute('role', 'listitem'); fixture.appendChild(node); assert.isFalse(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it ('should return false for role=math', function() { node = document.createElement('div'); node.setAttribute('role', 'math'); fixture.appendChild(node); assert.isFalse(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it ('should return false for role=none', function() { node = document.createElement('div'); node.setAttribute('role', 'none'); fixture.appendChild(node); assert.isFalse(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it ('should return false for role=note', function() { node = document.createElement('div'); node.setAttribute('role', 'note'); fixture.appendChild(node); assert.isFalse(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it ('should return false for role=presentation', function() { node = document.createElement('div'); node.setAttribute('role', 'presentation'); fixture.appendChild(node); assert.isFalse(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it ('should return false for role=row', function() { node = document.createElement('div'); node.setAttribute('role', 'row'); fixture.appendChild(node); assert.isFalse(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it ('should return false for role=rowgroup', function() { node = document.createElement('div'); node.setAttribute('role', 'rowgroup'); fixture.appendChild(node); assert.isFalse(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it ('should return false for role=rowheader', function() { node = document.createElement('div'); node.setAttribute('role', 'rowheader'); fixture.appendChild(node); assert.isFalse(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it ('should return false for role=table', function() { node = document.createElement('div'); node.setAttribute('role', 'table'); fixture.appendChild(node); assert.isFalse(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it ('should return false for role=term', function() { node = document.createElement('div'); node.setAttribute('role', 'term'); fixture.appendChild(node); assert.isFalse(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it ('should return false for role=toolbar', function() { node = document.createElement('div'); node.setAttribute('role', 'toolbar'); fixture.appendChild(node); assert.isFalse(checks['has-widget-role'].evaluate.call(checkContext, node)); }); // Landmark Roles it ('should return false for role=banner', function() { node = document.createElement('div'); node.setAttribute('role', 'banner'); fixture.appendChild(node); assert.isFalse(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it ('should return false for role=complementary', function() { node = document.createElement('div'); node.setAttribute('role', 'complementary'); fixture.appendChild(node); assert.isFalse(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it ('should return false for role=contentinfo', function() { node = document.createElement('div'); node.setAttribute('role', 'contentinfo'); fixture.appendChild(node); assert.isFalse(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it ('should return false for role=form', function() { node = document.createElement('div'); node.setAttribute('role', 'form'); fixture.appendChild(node); assert.isFalse(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it ('should return false for role=main', function() { node = document.createElement('div'); node.setAttribute('role', 'main'); fixture.appendChild(node); assert.isFalse(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it ('should return false for role=navigation', function() { node = document.createElement('div'); node.setAttribute('role', 'navigation'); fixture.appendChild(node); assert.isFalse(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it ('should return false for role=region', function() { node = document.createElement('div'); node.setAttribute('role', 'region'); fixture.appendChild(node); assert.isFalse(checks['has-widget-role'].evaluate.call(checkContext, node)); }); it ('should return false for role=search', function() { node = document.createElement('div'); node.setAttribute('role', 'search'); fixture.appendChild(node); assert.isFalse(checks['has-widget-role'].evaluate.call(checkContext, node)); }); });