Skip to content

Releases: a11ign/screenreader-worker

v0.13.13

Choose a tag to compare

@github-actions github-actions released this 17 Oct 12:13

Patch Changes

  • 095d6eb: A capture whose screen reader spoke a window other than the page is now a retryable fault, not a success. The window's spoken title is compared with the page's own title; when it does not contain it, and the transcript is at most two identical phrases, the capture fails. A cmd.exe console read as two identical phrases on Windows 11 build 26200, and the taskbar read as one phrase on 22631, both came back as ["blank","blank"] or ["Taskbar"] and were returned as a capture. The worker now cold-starts the screen reader and captures again with the browser in front. When the page's title cannot be read, only shell windows are caught.

v0.13.12

Choose a tag to compare

@github-actions github-actions released this 17 Oct 10:36

Patch Changes

  • 7c39099: A capture no longer takes Chrome DevTools Page.bringToFront as proof that the browser is in front. On Windows 11 build 26200 that request resolved while the foreground stayed on the launcher's cmd.exe, NVDA started there, and the capture read ["blank","blank"]. The foreground handle read back from the operating system now decides; a refused request is retried with a synthetic Alt press and then an attached input queue, and the winning method is reported. Where the operating-system check cannot run at all, the earlier behaviour stands.

v0.13.11

Choose a tag to compare

@github-actions github-actions released this 17 Oct 06:56

Patch Changes

  • 56afaea: The per-direction cap on a quick-nav sweep is lowered from 250 steps to 150. On a page that runs to the cap, a sweep now stops after 150 steps where it used to stop after 250, so a form whose fields lie past step 150 is read less and is recorded as incomplete. Ordinary pages are not affected. The cost of the lower cap as evidence is not yet measured.

v0.13.10

Choose a tag to compare

@github-actions github-actions released this 17 Oct 05:02

Patch Changes

  • 3b6b476: The sweep diagnostic mark now splits each direction's time into four buckets: tripItemMs is the onItem work between round trips, which the three trip buckets never covered, so the four add up to the direction's time. The trip buckets are measured with performance.now(), so a sub-millisecond round is no longer read as zero. The evidence a capture records is unchanged; the mark only gains a field and its numbers are fractional milliseconds.

v0.13.9

Choose a tag to compare

@github-actions github-actions released this 17 Oct 03:40

Patch Changes

  • 4d01f94: The sweep diagnostic mark now splits each direction's round-trip time into tripPerformMs (the NVDA keystroke), tripLogMs (the speech-log reads) and tripQuietMs (the silence waits), under prevSplit and nextSplit. The evidence a capture records is unchanged; the mark only gains fields.

v0.13.8

Choose a tag to compare

@github-actions github-actions released this 17 Oct 01:29

Patch Changes

  • 91a69ac: The per-field activation under probe-forms takes a quarter of the time left when its sweep begins, not a half (a11ign/agent-org#1643). On a runner's survey.html the activation spent 98.2 s of the 187.6 s that half allowed; a quarter binds there. The recapture reads the time and how many fields went unactivated.

v0.13.7

Choose a tag to compare

@github-actions github-actions released this 16 Oct 22:19

Patch Changes

  • fc488ce: Each branch the screen loop takes now records the alerts and controls the screen showed. alerts lists every alert control as its role and accessible name, and is [] when the screen had none, so "no alert" and "not recorded" are different readings. controls lists every control the same way, so a field error that is not an alert role is visible beside the alert. A branch that stops the loop carries both too. Only roles and names are recorded: a field's value and a control's class name never reach a branch.

v0.13.6

Choose a tag to compare

@github-actions github-actions released this 16 Oct 19:14

Patch Changes

  • d7437b5: The probe-forms path never presses a control that names an identity provider. Continue with Google, Sign in with Apple, and the Microsoft, GitHub and Facebook forms were classified as a submit by probeKindFor and pressed whenever probe-forms was on, which takes the page to the provider's own login. Now such a control is no probe at all, as a submit, a task or a disclosure, and the plain Continue or Sign in beside it is still the submit. The provider list is one constant, PROVIDER_NAME in capture-pure.ts, that the screen loop and the probe both read, so a provider added to one cannot be missing from the other. This is the probe path's counterpart to the screen loop's fix (a11ign#5494).

v0.13.5

Choose a tag to compare

@github-actions github-actions released this 16 Oct 17:23

Patch Changes

  • 8b1f3a3: The left-origin sentence no longer calls an identity-provider redirect SSO "which v1 does not do". It now says that a redirect to an identity provider the flow does not declare ends the run, and names the idp-origins: declaration that allows it; SSO beyond that is still not supported. The CLI prints the same sentence, and the two are held to one literal by a parity test.

v0.13.4

Choose a tag to compare

@github-actions github-actions released this 16 Oct 02:59

Patch Changes

  • efe126d: The worker's server now starts when the launcher reaches it through a symlink or a directory junction. Before, it compared the real path of its own module with process.argv[1] as typed, found them unequal under a linked node_modules path, took itself for a library, and exited 0 with no output: worker-5 went down that way after a provision (a11ign#5155). Both sides are resolved to real paths before the comparison, and a path that does not resolve is not an entry point, so importing the module still stays silent. A run by a real path is unchanged.