c8e77d8536
As part of our CI checks, we ensure the a11y score on certain angular.io pages do not fall below some thresholds. This commit increases these thresholds based on our current scores to ensure we do not regress below current values. PR Close #37899
39 lines
982 B
JavaScript
39 lines
982 B
JavaScript
#!/bin/env node
|
|
'use strict';
|
|
|
|
/**
|
|
* Usage:
|
|
* ```sh
|
|
* node scripts/test-aio-a11y <origin>
|
|
* ```
|
|
*
|
|
* 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).
|
|
*
|
|
* `<origin>` 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': 98,
|
|
'cli': 98,
|
|
'cli/add': 98,
|
|
'docs': 100,
|
|
'guide/docs-style-guide': 95,
|
|
'start': 97,
|
|
};
|
|
|
|
// 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}`);
|
|
}
|