testaro 63.0.0 → 64.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -133,6 +133,10 @@ Once it is installed as a dependency, your application can use Testaro features
133
133
 
134
134
  ### Prerequisites
135
135
 
136
+ The host on which Testaro runs should have the latest long-term-support version of [Node.js](https://nodejs.org/en/).
137
+
138
+ Testaro is configured so that, when Playwright or Puppeteer launches a `chromium` browser, the browser is [sandboxed](https://www.geeksforgeeks.org/ethical-hacking/what-is-browser-sandboxing/) for improved security. That is the default for Playwright and Puppeteer, and Testaro does not override that default.Any host running Testaro must therefore permit sandboxed browsers. Documentation on how to configure an Ubuntu Linux host for this purpose is available in the [`SERVICE.md` file of the Kilotest repository](https://github.com/jrpool/kilotest/blob/main/SERVICE.md#browser-privileges). If you try to run Testaro on a host that prohibits sandboxed browsers, each attempted launch of a `chromium` browser will throw an error with a message complaining about the unavailability of a sandbox.
139
+
136
140
  To make the Testaro features work, you will also need to provide the environment variables described below under “Environment variables”.
137
141
 
138
142
  All of the tests that Testaro can perform are free of cost, except those performed by the WallyAX and WAVE tools. The owners of those tools issue API keys. A free initial allowance of usage may be granted to you with a new API key. Before using Testaro to perform their tests, get your API keys for [WallyAX](mailto:technology@wallyax.com) and [WAVE](https://wave.webaim.org/api/). Then use those API keys to define environment variables, as described below under “Environment variables”.
@@ -486,7 +490,7 @@ These changes were proposed as [pull requests 1333 and 1334](https://github.com/
486
490
 
487
491
  The `ibm` tool is one of two tools (`testaro` is the other) with a `withItems` property. If you set `withItems` to `false`, the result includes the counts of “violations” and “recommendations”, but no information about the rules that gave rise to them.
488
492
 
489
- Experimentation indicates that the `ibm` tool emits untrappable errors for some targets when the content argument given to it is the page content rather than the page URL. Therefore, it is safer to use `true` as the value of `withNewContent` for the `ibm` tool.
493
+ In a previous version of the package, the tool operated on the page content when the `withNewContent` property was `false`. In some cases the tool threw untrappable errors for some targets under that condition. The tool launched a Puppeteer browser to create pages to perform its tests on. On any host that did not permit sandboxed browsers to be launched, the `aceconfig.js` file needed to specify nonsandboxed browsers. Starting in December 2025, the tool operates on the page rather than the page content.
490
494
 
491
495
  #### Nu Html Checker
492
496
 
@@ -517,7 +521,9 @@ When no string pertains to a module, then QualWeb will test for all of the rules
517
521
 
518
522
  Thus, when the `rules` argument is omitted, QualWeb will test for all of the rules in all of these modules.
519
523
 
520
- The target can be provided to QualWeb either as an existing page or as a URL. Experience indicates that the results can differ between these methods, with each method reporting some rule violations or some instances that the other method does not report. For at least some cases, more rules are reported violated when an existing page is provided (`withNewItems: false`).
524
+ The target can be provided to QualWeb either as HTML or as a URL. Experience indicates that the results can differ between these methods, with each method reporting some rule violations or some instances that the other method does not report. For at least some cases, more rules are reported violated when HTML is provided (`withNewItems: false`).
525
+
526
+ QualWeb creates sandboxed Puppeteer pages to perform its tests on. Therefore, the host must permit sandboxed browsers to be launched. See the pertinent [Kilotest documentation](https://github.com/jrpool/kilotest/blob/main/SERVICE.md#browser-privileges) for information about the configuration of an Ubuntu Linux host for this purpose.
521
527
 
522
528
  #### Testaro
523
529
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "testaro",
3
- "version": "63.0.0",
3
+ "version": "64.1.0",
4
4
  "description": "Run 1000 web accessibility tests from 11 tools and get a standardized report",
5
5
  "main": "index.js",
6
6
  "scripts": {
package/run.js CHANGED
@@ -297,8 +297,6 @@ const launch = exports.launch = async (
297
297
  );
298
298
  if (headEmulation === 'high') {
299
299
  browserOptionArgs.push(
300
- '--no-sandbox',
301
- '--disable-setuid-sandbox',
302
300
  '--disable-gpu',
303
301
  '--disable-software-rasterizer',
304
302
  '--force-device-scale-factor=1',
package/tests/ibm.js CHANGED
@@ -10,11 +10,9 @@
10
10
 
11
11
  /*
12
12
  ibm
13
- This test implements the IBM Equal Access ruleset for accessibility.
14
- The 'withNewContent' argument determines whether the test package should be
15
- given the URL of the page to be tested (true) or the page content (false).
13
+ This tool implements the IBM Equal Access ruleset for accessibility. The 'withNewContent' argument determines whether the test package is given the URL of the page to be tested (true) or the page (false).
16
14
 
17
- This test depends on aceconfig.js.
15
+ This tool depends on aceconfig.js.
18
16
 
19
17
  This tool is compatible with Windows only if the accessibility-checker package
20
18
  is revised. See README.md for details.
@@ -124,7 +122,7 @@ exports.reporter = async (page, report, actIndex) => {
124
122
  const {withItems, withNewContent, rules} = act;
125
123
  const contentType = withNewContent ? 'new' : 'existing';
126
124
  try {
127
- const typeContent = contentType === 'existing' ? await page.content() : page.url();
125
+ const typeContent = contentType === 'existing' ? page : page.url();
128
126
  // Conduct the tests.
129
127
  const runReport = await run(typeContent);
130
128
  const {report} = runReport;