aria-api

access ARIA information from JavaScript
git clone https://git.ce9e.org/aria-api.git

commit
5fc3becd1d2d93998edba20b18b7fa3088f0e944
parent
34a9abaee4bd614fa5ab3c7534c29b4b4354cc40
Author
Tobias Bengfort <tobias.bengfort@posteo.de>
Date
2024-11-01 11:39
refactor: do not re-export methods

Diffstat

M index.js 5 +++--
M lib/attrs.js 8 ++++++--
M lib/name.js 5 +++--
M lib/query.js 3 ---

4 files changed, 12 insertions, 9 deletions


diff --git a/index.js b/index.js

@@ -1,10 +1,11 @@
    1     1 var query = require('./lib/query.js');
   -1     2 var attrs = require('./lib/attrs.js');
    2     3 var name = require('./lib/name.js');
    3     4 var atree = require('./lib/atree.js');
    4     5 
    5     6 module.exports = {
    6    -1 	getRole: query.getRole,
    7    -1 	getAttribute: query.getAttribute,
   -1     7 	getRole: attrs.getRole,
   -1     8 	getAttribute: attrs.getAttribute,
    8     9 	getName: name.getName,
    9    10 	getDescription: name.getDescription,
   10    11 

diff --git a/lib/attrs.js b/lib/attrs.js

@@ -17,7 +17,7 @@ var normalizeRoles = function(roles, includeAbstract) {
   17    17 };
   18    18 
   19    19 // candidates can be passed for performance optimization
   20    -1 const getRole = function(el, candidates) {
   -1    20 const getRoleRaw = function(el, candidates) {
   21    21 	// TODO: filter out any invalid roles (e.g. name or context required)
   22    22 	const roles = normalizeRoles(
   23    23 		(el.getAttribute('role') || '').toLowerCase().split(/\s+/)
@@ -41,11 +41,15 @@ const getRole = function(el, candidates) {
   41    41 	}
   42    42 };
   43    43 
   -1    44 const getRole = function(el) {
   -1    45 	return getRoleRaw(el);
   -1    46 };
   -1    47 
   44    48 const hasRole = function(el, roles) {
   45    49 	const subRoles = normalizeRoles(roles, true).map(role => {
   46    50 		return constants.roles[role].subRoles || [role];
   47    51 	});
   48    -1 	return !!getRole(el, unique(flatten(subRoles)));
   -1    52 	return !!getRoleRaw(el, unique(flatten(subRoles)));
   49    53 };
   50    54 
   51    55 const getAttribute = function(el, key) {

diff --git a/lib/name.js b/lib/name.js

@@ -1,5 +1,6 @@
    1     1 const constants = require('./constants.js');
    2     2 const atree = require('./atree.js');
   -1     3 const attrs = require('./attrs.js');
    3     4 const query = require('./query.js');
    4     5 
    5     6 const addSpaces = function(text, el, pseudoSelector) {
@@ -59,7 +60,7 @@ const getContent = function(root, ongoingLabelledBy, visited) {
   59    60 };
   60    61 
   61    62 const allowNameFromContent = function(el) {
   62    -1 	const role = query.getRole(el);
   -1    63 	const role = attrs.getRole(el);
   63    64 	if (role) {
   64    65 		return constants.roles[role].nameFromContents;
   65    66 	}
@@ -102,7 +103,7 @@ const getNameRaw = function(el, recursive, ongoingLabelledBy, visited, directRef
  102   103 				ret = el.value || '';
  103   104 			}
  104   105 		} else if (query.matches(el, 'range')) {
  105    -1 			ret = '' + (query.getAttribute(el, 'valuetext') || query.getAttribute(el, 'valuenow') || el.value);
   -1   106 			ret = '' + (attrs.getAttribute(el, 'valuetext') || attrs.getAttribute(el, 'valuenow') || el.value);
  106   107 		}
  107   108 	}
  108   109 

diff --git a/lib/query.js b/lib/query.js

@@ -1,7 +1,6 @@
    1     1 const attrs = require('./attrs.js');
    2     2 const atree = require('./atree.js');
    3     3 
    4    -1 
    5     4 const matches = function(el, selector) {
    6     5 	if (selector.substr(0, 1) === ':') {
    7     6 		const attr = selector.substr(1);
@@ -49,8 +48,6 @@ const closest = function(el, selector) {
   49    48 };
   50    49 
   51    50 module.exports = {
   52    -1 	getRole: el => attrs.getRole(el),
   53    -1 	getAttribute: attrs.getAttribute,
   54    51 	matches: matches,
   55    52 	querySelector: _querySelector(),
   56    53 	querySelectorAll: _querySelector(true),