UNPKG

axe-core

Version:

Accessibility engine for automated Web UI testing

47 lines (42 loc) 905 B
/*global dom */ /*eslint complexity: ["error",20] */ const visualRoles = [ 'checkbox', 'img', 'radio', 'range', 'slider', 'spinbutton', 'textbox', ]; /** * Check if an element is an inherently visual element * @method isVisualContent * @memberof axe.commons.dom * @instance * @param {Element} element The element to check * @return {Boolean} */ dom.isVisualContent = function (element) { /*eslint indent: 0*/ const role = element.getAttribute('role'); if (role) { return (visualRoles.indexOf(role) !== -1); } switch (element.tagName.toUpperCase()) { case 'IMG': case 'IFRAME': case 'OBJECT': case 'VIDEO': case 'AUDIO': case 'CANVAS': case 'SVG': case 'MATH': case 'BUTTON': case 'SELECT': case 'TEXTAREA': case 'KEYGEN': case 'PROGRESS': case 'METER': return true; case 'INPUT': return element.type !== 'hidden'; default: return false; } };