#!/bin/env node 'use strict'; /** * Usage: * ```sh * node scripts/test-aio-a11y * ``` * * Runs accessibility audits on several (pre-defined) pages on the specified origin. It fails, if * the score for any page is below the minimum (see `MIN_SCORES_PER_PAGE` below). * * `` is the origin (scheme + hostname + port) of an angular.io deployment. It can be remote * (e.g. `https://next.angular.io`) or local (e.g. `http://localhost:4200`). */ // Imports const sh = require('shelljs'); sh.set('-e'); // Constants const MIN_SCORES_PER_PAGE = { '': 100, 'api': 100, 'api/core/Directive': 90, 'cli': 91, 'cli/add': 91, 'docs': 100, 'guide/docs-style-guide': 88, 'start': 90, }; // Run const auditWebAppCmd = `"${process.execPath}" "${__dirname}/audit-web-app"`; const origin = process.argv[2]; for (const [page, minScore] of Object.entries(MIN_SCORES_PER_PAGE)) { sh.exec(`${auditWebAppCmd} ${origin}/${page} accessibility:${minScore}`); }