babelacc

compare different implementations of the text alternative computation  https://p.ce9e.org/babelacc/
git clone https://git.ce9e.org/babelacc.git

commit
dc0522d1a829dccdefc7fa7c7ed715b10bfe4344
parent
0ee09ce7e63a736a7bcb77c3052c73da1f60452b
Author
Tobias Bengfort <tobias.bengfort@posteo.de>
Date
2020-11-12 12:17
use objects for implementations

Diffstat

M src/babel.js 27 +++++++++++++++++----------

1 files changed, 17 insertions, 10 deletions


diff --git a/src/babel.js b/src/babel.js

@@ -15,16 +15,21 @@ var ex = function(fn, args, _this) {
   15    15 	}
   16    16 };
   17    17 
   18    -1 var implementations = {
   19    -1 	'aria-api (0.4.0)': function(el) {
   -1    18 var implementations = [{
   -1    19 	name: 'aria-api (0.4.0)',
   -1    20 	fn: function(el) {
   20    21 		return {
   21    22 			name: ex(ariaApi.getName, [el]),
   22    23 			desc: ex(ariaApi.getDescription, [el]),
   23    24 			role: ex(ariaApi.getRole, [el]),
   24    25 		};
   25    26 	},
   26    -1 	'accdc (2.49)': accdc.calcNames,
   27    -1 	'axe (4.0.2)': function(el) {
   -1    27 }, {
   -1    28 	name: 'accdc (2.49)',
   -1    29 	fn: accdc.calcNames,
   -1    30 }, {
   -1    31 	name: 'axe (4.0.2)',
   -1    32 	fn: function(el) {
   28    33 		axe._tree = axe.utils.getFlattenedTree(document.body);
   29    34 		return {
   30    35 			name: ex(axe.commons.text.accessibleText, [el]),
@@ -32,7 +37,9 @@ var implementations = {
   32    37 			role: ex(axe.commons.aria.getRole, [el]),
   33    38 		};
   34    39 	},
   35    -1 	'axs (2.12.0)': function(el) {
   -1    40 }, {
   -1    41 	name: 'axs (2.12.0)',
   -1    42 	fn: function(el) {
   36    43 		return {
   37    44 			name: ex(axs.properties.findTextAlternatives, [el, {}]),
   38    45 			desc: '-',
@@ -41,10 +48,10 @@ var implementations = {
   41    48 				if (roles) {
   42    49 					return roles.roles.map(x => x.name).join(' ');
   43    50 				}
   44    -1 			})
   -1    51 			}),
   45    52 		};
   46    53 	},
   47    -1 };
   -1    54 }];
   48    55 
   49    56 var createTd = function(text) {
   50    57 	var td = document.createElement('td');
@@ -56,13 +63,13 @@ var run = function(html) {
   56    63 	preview.innerHTML = html;
   57    64 	results.innerHTML = '';
   58    65 
   59    -1 	return Promise.all(Object.keys(implementations).map(function(key) {
   60    -1 		var p = implementations[key](preview.querySelector('#test') || preview.children[0] || preview);
   -1    66 	return Promise.all(implementations.map(function(impl) {
   -1    67 		var p = impl.fn(preview.querySelector('#test') || preview.children[0] || preview);
   61    68 
   62    69 		return Promise.resolve(p).then(function(result) {
   63    70 			var tr = document.createElement('tr');
   64    71 
   65    -1 			tr.appendChild(createTd(key));
   -1    72 			tr.appendChild(createTd(impl.name));
   66    73 			tr.appendChild(createTd(result.name));
   67    74 			tr.appendChild(createTd(result.desc));
   68    75 			tr.appendChild(createTd(result.role));