Développer l'accessibilité avec WorldSpace Attest

Marcy Sutton

Par Marcy Sutton

January 31, 2017

axe vs. attest 1024x594

L'autonomie, voilà l'essentiel. Nous souhaitons que les développeurs soient les moteurs de la mise en œuvre de bonnes pratiques en matière d'accessibilité au sein des grandes entreprises, et c'est en partie ce qui nous a poussés à créer la gamme d'outils de développement web WorldSpace Attest. Nous voulions donner aux développeurs les moyens d'être autonomes.

S'appuyant sur notre moteur de règles très apprécié «axe-core », Attest propose divers outils d'intégration pour Node.js, Selenium WebDriver, Ruby, le JavaScript des navigateurs et bien d'autres encore, permettant ainsi aux développeurs de choisir la solution qui leur convient le mieux. Grâce à des fonctionnalités simples de création de rapports et d'exportation de données, ainsi qu'à une extension de navigateur très pratique, plusieurs membres d'une même équipe peuvent collaborer au développement de l'accessibilité et obtenir des résultats de test cohérents à l'échelle de l'entreprise.

Dans cet article, je vais vous montrer comment les composants Attest permettent de placer les tests d'accessibilité au cœur des préoccupations de l'équipe dès les premières étapes du cycle de vie du développement logiciel, ce qui rend cette démarche durable et pragmatique.

Pourquoi choisir WorldSpace Attest ?

Les audits manuels réalisés par des experts en la matière constituent un élément essentiel de la mise en conformité en matière d'accessibilité pour les entreprises : les connaissances de ces spécialistes peuvent servir à établir une feuille de route pour la correction des bogues, à l'intention des équipes de développement et d'assurance qualité.

Cependant, 40 % des problèmes d’accessibilité peuvent être résolus à l’aide d’outils automatisés avant même qu’un testeur manuel ne les repère, ce qui permet de réduire considérablement la charge de travail liée au signalement, au suivi, au tri et à la validation de ces problèmes. Nous espérons qu’avec le temps, les développeurs pourront tirer parti des outils automatisés pour détecter eux-mêmes les bugs d’accessibilité les plus évidents, libérant ainsi les experts en la matière pour qu’ils se consacrent à des tâches plus complexes nécessitant une intervention humaine.

Cela me rappelle ce vieil adage : « Donne un poisson à un homme, tu le nourris pour un jour ; apprends-lui à pêcher, tu le nourris pour toute une vie. » En intégrant pleinement l’accessibilité au processus de développement logiciel et en en assurant la gestion en interne (à l’aide de quelques outils), les organisations peuvent identifier leurs propres problèmes beaucoup plus rapidement et obtenir des résultats cohérents avec le personnel dont elles disposent déjà.

WorldSpace Attest se distingue de nos outils open source plus basiques par le nombre de ses intégrations sophistiquées et la prise en charge de règles personnalisées, sans oublier l’accompagnement technique fourni par l’équipe Deque . Il combine le meilleur des deux mondes : des API de test automatisées qui concentrent des années d’expertise en matière d’accessibilité, ainsi qu’un accompagnement sur mesure de la part de l’équipe qui les a développées. Pour les grandes entreprises, Attest peut aider votre équipe à se lancer et à obtenir des résultats durables en matière d’accessibilité en un rien de temps.

Flux de travail des développeurs

Attest est un excellent outil permettant d’automatiser les tests d’accessibilité à l’aide de règles personnalisées, très courantes dans les grandes entreprises. Pour vous montrer comment cela fonctionne, je vais vous présenter un workflow type de tests d’intégration front-end, en mettant particulièrement l’accent sur la prise en charge optimale des règles personnalisées par Attest. Je vais vous montrer ces mêmes règles personnalisées en action dans l’extension de navigateur Attest (anciennement FireEyes II), disponible avec une licence WorldSpace Attest ou WorldSpace Comply. Disposer de plusieurs outils utilisant le même ensemble de règles sous-jacent vous permet de tester une norme d’accessibilité personnalisée manuellement ou dans un environnement automatisé, ce qui harmonise les normes entre plusieurs disciplines.

Il convient de noter que les tests automatisés détectent environ 30 % des problèmes liés aux critères de réussite (en fonction de votre ensemble de règles) et 50 % du nombre total de problèmes ; ils ne rendent donc pas les tests manuels superflus. Mais ces 30 à 50 % peuvent représenter un progrès considérable pour un effort minimal. Les tests automatisés permettent également d’empêcher par programmation que des régressions en matière d’accessibilité ne se glissent dans l’environnement de production, ce qui constitue un avantage considérable pour les déploiements à haut risque et les grandes équipes.

Étape 1 : Se procurer les outils

Les modules WorldSpace Attest sont hébergés chez un fournisseur tiers npm registre géré par Artifactory – notre instance s'appelle Agora. Une fois la licence WorldSpace Attest acquise, un administrateur d'Deque accordera l'accès à votre équipe. Vous pourrez alors activer l'authentification via un .npmrc fichier qui permettra d'effectuer des installations en ligne de commande sur votre ordinateur.

Agora : Instructions pour « Set Me Up »

Étape 2 : Installer les dépendances

Avec des identifiants Agora valides et .npmrc Une fois ces informations renseignées, vous pouvez installer Attest-Node et Attest-Webdriverjs dans votre projet. Si vous ne disposez pas encore de dépendances npm, vous pouvez initialiser votre projet avec npm init.

Installez Attest-Node et Attest-Webdriverjs à partir du registre :

npm install -g attest-node 
npm install attest-webdriverjs

Attest-Node est particulièrement utile lorsqu'il est installé au niveau global, mais cette étape est facultative.

Vous devrez également installer quelques dépendances pour les tests, notamment Selenium WebDriver, Mocha et Chai :

npm install selenium-webdriver mocha chai --save-dev
Vérification de l'installation du terminal

Étape 3 : Ajouter une règle personnalisée

Règles personnalisées dans WorldSpace Attest

Les règles personnalisées dans Attest respectent le même format JSON que celui utilisé dans le projet open source axe-core . La structure nécessite un tableau « rules » contenant des objets qui correspondent aux nœuds DOM pertinents et décrivent le fonctionnement de la règle, ainsi qu’un tableau « checks » contenant des objets représentant des sous-tests permettant d’évaluer certaines parties d’une règle. Le fait que les règles et les contrôles soient organisés en structures distinctes permet d’utiliser les sous-tests dans plusieurs règles.

À titre d'exemple, je vais utiliser un fichier JSON contenant une règle personnalisée qui signale <p> éléments utilisés comme titres. Pour l'installer, deux options s'offrent à nous :

  1. Ajoutez une entrée pour $ATTEST_PATH dans .bash_profile qui pointe vers un .json configuration des règles. (Redémarrez votre client en ligne de commande pour que cette méthode prenne effet.)
  2. Mettez un attest.json fichier de configuration des règles situé à la racine du projet.

La première option est idéale pour utiliser la même configuration de règles dans plusieurs projets, tandis que la seconde permet de se lancer plus rapidement. Attest-Node et Attest-webdriver fonctionneront conjointement pour configurer la règle personnalisée et la rendre disponible de manière transparente pour nos tests d'intégration. Dès lors que la règle personnalisée détecte un nœud présentant une violation d'accessibilité pertinente, celui-ci apparaîtra dans nos résultats d'audit.

Règles personnalisées dans WorldSpace Attest DevTools

Pour analyser des pages à l'aide de la règle personnalisée dans l'extension pour développeurs WorldSpace Attest (anciennement FireEyes II), deux options s'offrent à vous :

  1. Utilisez WorldSpace Comply pour diffuser la règle depuis le serveur.
  2. Activer un onglet « Règles personnalisées » dans les préférences de l'extension afin de pouvoir coller le contenu des règles au format JSON et, si vous le souhaitez, le télécharger vers WorldSpace Comply.
Vue « Règles » de l'extension « Outils de développement » d'Attest

Pour activer une règle personnalisée depuis l'ancienne extension FireEyes II pour Firefox, rendez-vous sur about://addons et activez l’option « Autoriser les règles personnalisées » dans les préférences de l’extension FireEyes. Vous pourrez alors coller le contenu du fichier JSON de la règle personnalisée dans l’interface utilisateur de l’extension. Pour plus d’informations, consultez la Documentation relative à FireEyes II sur le site de l'université « Deque » (connexion requise).

Une fois la règle personnalisée activée, le lancement d'une analyse dans le navigateur donnera les mêmes résultats que notre test d'intégration :

Règle personnalisée dans Attest Developer Tools

Étape 4 : Rédiger un test d'intégration

Les tests d'intégration dans Attest-webdriverjs sont similaires à ceux de notre module open source axe-webdriverjs, à la différence près qu'Attest est le seul à intégrer une fonctionnalité de génération de rapports, très utile pour partager les résultats des tests avec les équipes. Attest facilite également la gestion des règles personnalisées dans plusieurs projets, grâce à la possibilité de les stocker dans un fichier unique référencé via une variable d'environnement PATH. Si votre ensemble de règles personnalisées doit être modifié, vous pouvez mettre à jour cette source unique de référence sur votre machine de développement, plutôt que de reconfigurer chaque projet concerné.

Voici un exemple de test JavaScript qui charge les dépendances, configure WebDriver pour qu'il s'exécute dans Google Chrome et vérifie qu'il n'y a aucune violation des règles d'accessibilité pour une page « localhost » donnée :

const WebDriver = require('selenium-webdriver'),
     AttestBuilder = require('attest-webdriverjs'),
     attest = require('attest-node')();

const assert = require('assert');

var util = require('util');

describe('Attest demo', function() {

	this.timeout(10000);

	let driver;
	let serverUrl = 'localhost:3000',
	    dqReporter = attest.report(serverUrl, './a11y-results');

	beforeEach(function(done) {
		driver = new WebDriver.Builder()
		 .forBrowser('chrome')
		 .build();
		done();
	});

	afterEach(function(done) {
		driver.quit().then(function() {
			done();
		});
	});

	it('should find no accessibility violations', function(done) {

		driver
		  .get(serverUrl)
		  .then(function () {
		    new AttestBuilder(driver)
		      .analyze(function (results) {
				dqReporter.logTestResult('about', results);
		        assert.equal(results.violations.length, 0);
		        done();
		      });
		  });
	});
});

Étape 5 : Corrigez les éventuels défauts

Les résultats au format JSON enregistrés à l'aide de dqReporter peuvent être convertis en un rapport lisible par l'utilisateur, à l'aide de l'interface de ligne de commande attest-report d'Attest-Node :

$ attest-report ./a11y-results --dest ./a11y-reports --format html+junit

Cette commande génère des rapports HTML et JUnit dans un nouveau répertoire nommé « a11y-reports ». En ouvrant la version HTML dans un navigateur, on peut consulter les résultats sous une forme clairement présentée, plutôt que de devoir éplucher du JSON brut :

Configurer Attest Reporter pour localhost en incluant notre règle personnalisée

Grâce à ces informations, les développeurs peuvent identifier le ou les éléments à l'origine de la non-conformité et mettre en œuvre des corrections de manière itérative. Les résultats peuvent également être communiqués à l'équipe de développement à des fins de suivi. Dans le cas de notre test « p-as-heading », il suffit de remplacer le paragraphe non conforme par un titre de niveau h1 à h6 pour que le test soit réussi.

Demander une démonstration

Grâce à WorldSpace Attest, les équipes de développement peuvent prendre en main leurs propres tests d’accessibilité plutôt que d’attendre les retours du service d’assurance qualité ou d’une équipe d’évaluation tierce. Le fait de disposer d’une gamme d’outils adaptés aux différents membres de l’équipe permet de favoriser la collaboration et d’éviter que la responsabilité ne repose sur une seule personne. Au final, cela signifie que vous créez un environnement dans lequel l’accessibilité peut évoluer au même rythme que votre organisation.

Pour en savoir plus sur WorldSpace Attest, n'hésitez pas à nous contacter afin d'assister à une démonstration pratique.

Marcy Sutton

Marcy Sutton

Marcy est « Developer Advocate » chez Deque Systems. Elle fait également partie de l'équipe #axeCore, organise les rencontres @a11ySea et est passionnée de montagne.

Recevez les articles de blog directement dans votre boîte mail

Pas de bavardages inutiles, mais des informations concrètes sur l'accessibilité, fournies par des experts qualifiés.

Vous acceptez que Deque , utilise et partage des informations conformément à Dequedéclaration de confidentialité. Vous pouvez modifier votre consentement à tout moment en nous contactant.

En savoir plus sur ce sujet

Pour que votre entreprise prospère à l'ère de l'IA agentique, considérez l'accessibilité comme un élément fondamental de votre stratégie en matière d'IA

Preety Kumar 100 x 150
29 juillet 2026 Par Preety Kumar

Il faut intégrer l'accessibilité dès la première instruction donnée à l'IA pour la rédaction de code, et non pas y remédier a posteriori. Et comme la communauté des personnes en situation de handicap perfectionne depuis des décennies l'interaction homme-machine pour différentes modalités d'entrée et de sortie, son expertise n'est pas seulement importante d'un point de vue moral ; elle est techniquement essentielle pour développer une IA robuste et fiable qui fonctionne réellement.

Lire l'article
Image de type organigramme illustrant l'arborescence de l'accessibilité et son influence sur l'accessibilité centrée sur l'humain et celle centrée sur les agents d'IA.

Pourquoi l'accessibilité numérique est une priorité stratégique pour HSBC

Logo de Deque
28 juillet 2026 Par Deque Systems

Mali Fernando, responsable du groupe « Expérience numérique et accessibilité » chez HSBC, évoque le rôle de l'accessibilité numérique dans l'amélioration de l'expérience bancaire, le renforcement des relations avec la clientèle et la réussite commerciale à long terme.

Lire l'article
Logo HSBC