Listen to the collectionsRead-aloud prototype prepared for the Library of Congress

Automated test results

Every time the prototype is published, these tests run against the live site. The results below come from the latest run and are published with the site, unchanged.

Latest run: October 3, 2026 at 8:03 PM Central time · Site tested: https://loc-tts.cloudology.cloud · Tools: Playwright 1.63.0 (Chromium 153.0.8010.12), axe-core 4.13.0, pixelmatch 7.2.0

Summary

81 of 81 checks passed. Every check passed.

Run an accessibility check now

This runs the same axe-core accessibility rules in your browser, against every page of the prototype, right now.

Check details

Accessibility
PageCheckResultDetails
/axe-core WCAG 2.2 AA, desktopPass27 rules passed
/axe-core WCAG 2.2 AA, phonePass27 rules passed
/gettysburg-address/axe-core WCAG 2.2 AA, desktopPass27 rules passed
/gettysburg-address/axe-core WCAG 2.2 AA, phonePass27 rules passed
/declaration-of-independence/axe-core WCAG 2.2 AA, desktopPass27 rules passed
/declaration-of-independence/axe-core WCAG 2.2 AA, phonePass27 rules passed
/don-quijote/axe-core WCAG 2.2 AA, desktopPass27 rules passed
/don-quijote/axe-core WCAG 2.2 AA, phonePass27 rules passed
Keyboard and structure
PageCheckResultDetails
/Page language declaredPasslang="en-US"
/Exactly one h1Pass1 found
/Skip link is first, visible on focus, and moves focus to mainPass
/Every control is reachable with TabPass15 of 15 controls
/Focus indicator visible on every controlPassgold outline on every stop
/gettysburg-address/Page language declaredPasslang="en-US"
/gettysburg-address/Exactly one h1Pass1 found
/gettysburg-address/Skip link is first, visible on focus, and moves focus to mainPass
/gettysburg-address/Every control is reachable with TabPass15 of 15 controls
/gettysburg-address/Focus indicator visible on every controlPassgold outline on every stop
/declaration-of-independence/Page language declaredPasslang="en-US"
/declaration-of-independence/Exactly one h1Pass1 found
/declaration-of-independence/Skip link is first, visible on focus, and moves focus to mainPass
/declaration-of-independence/Every control is reachable with TabPass15 of 15 controls
/declaration-of-independence/Focus indicator visible on every controlPassgold outline on every stop
/don-quijote/Page language declaredPasslang="es-US"
/don-quijote/Exactly one h1Pass1 found
/don-quijote/Skip link is first, visible on focus, and moves focus to mainPass
/don-quijote/Every control is reachable with TabPass16 of 15 controls
/don-quijote/Focus indicator visible on every controlPassgold outline on every stop
Read-aloud playback
PageCheckResultDetails
/Audio is delivered as MP3 and supports seeking (HTTP range)PassHTTP 200, audio/mpeg, range request HTTP 206
/Nothing plays until the user asks (WCAG 1.4.2)Pass
/Audio length covers every sentencePass174.3 s audio; last sentence starts at 164.1 s
/Every sentence and word has a timing mark, in orderPass26 sentences, 456 words
/Play works from the keyboard and audio advancesPass2.32 s after 2.5 s
/Button and status message report playing statePassbutton "Pause", status "Playing"
/Pause works from the keyboard and is announcedPassbutton "Play", status "Paused"
/Highlighted sentence and word match the audio positionPasschecked sentences 1, 9, 18, 26
/Next and previous sentence buttons move by one sentencePassnext went to 3, previous to 2
/Speed control changes the reading ratePassplaybackRate 1.5
/gettysburg-address/Audio is delivered as MP3 and supports seeking (HTTP range)PassHTTP 200, audio/mpeg, range request HTTP 206
/gettysburg-address/Nothing plays until the user asks (WCAG 1.4.2)Pass
/gettysburg-address/Audio length covers every sentencePass76.2 s audio; last sentence starts at 55.6 s
/gettysburg-address/Every sentence and word has a timing mark, in orderPass10 sentences, 271 words
/gettysburg-address/Play works from the keyboard and audio advancesPass2.46 s after 2.5 s
/gettysburg-address/Button and status message report playing statePassbutton "Pause", status "Playing"
/gettysburg-address/Pause works from the keyboard and is announcedPassbutton "Play", status "Paused"
/gettysburg-address/Highlighted sentence and word match the audio positionPasschecked sentences 1, 4, 7, 10
/gettysburg-address/Next and previous sentence buttons move by one sentencePassnext went to 3, previous to 2
/gettysburg-address/Speed control changes the reading ratePassplaybackRate 1.5
/declaration-of-independence/Audio is delivered as MP3 and supports seeking (HTTP range)PassHTTP 200, audio/mpeg, range request HTTP 206
/declaration-of-independence/Nothing plays until the user asks (WCAG 1.4.2)Pass
/declaration-of-independence/Audio length covers every sentencePass53.6 s audio; last sentence starts at 31.2 s
/declaration-of-independence/Every sentence and word has a timing mark, in orderPass3 sentences, 181 words
/declaration-of-independence/Play works from the keyboard and audio advancesPass2.46 s after 2.5 s
/declaration-of-independence/Button and status message report playing statePassbutton "Pause", status "Playing"
/declaration-of-independence/Pause works from the keyboard and is announcedPassbutton "Play", status "Paused"
/declaration-of-independence/Highlighted sentence and word match the audio positionPasschecked sentences 1, 2, 3, 3
/declaration-of-independence/Next and previous sentence buttons move by one sentencePassnext went to 3, previous to 2
/declaration-of-independence/Speed control changes the reading ratePassplaybackRate 1.5
/don-quijote/Audio is delivered as MP3 and supports seeking (HTTP range)PassHTTP 200, audio/mpeg, range request HTTP 206
/don-quijote/Nothing plays until the user asks (WCAG 1.4.2)Pass
/don-quijote/Audio length covers every sentencePass29.3 s audio; last sentence starts at 17.5 s
/don-quijote/Every sentence and word has a timing mark, in orderPass4 sentences, 86 words
/don-quijote/Play works from the keyboard and audio advancesPass2.46 s after 2.5 s
/don-quijote/Button and status message report playing statePassbutton "Pausa", status "Reproduciendo"
/don-quijote/Pause works from the keyboard and is announcedPassbutton "Reproducir", status "En pausa"
/don-quijote/Highlighted sentence and word match the audio positionPasschecked sentences 1, 2, 3, 4
/don-quijote/Next and previous sentence buttons move by one sentencePassnext went to 3, previous to 2
/don-quijote/Speed control changes the reading ratePassplaybackRate 1.5
Visual regression
PageCheckResultDetails
/Matches approved screenshot: desktop, initialPass0 of 2,908,160 pixels differ (0.000%)
/Matches approved screenshot: phone, initialPass93 of 1,581,450 pixels differ (0.006%)
/Matches approved screenshot: desktop, readingPass0 of 2,908,160 pixels differ (0.000%)
/gettysburg-address/Matches approved screenshot: desktop, initialPass91 of 1,696,000 pixels differ (0.005%)
/gettysburg-address/Matches approved screenshot: phone, initialPass81 of 975,390 pixels differ (0.008%)
/gettysburg-address/Matches approved screenshot: desktop, readingPass0 of 1,696,000 pixels differ (0.000%)
/declaration-of-independence/Matches approved screenshot: desktop, initialPass0 of 1,492,480 pixels differ (0.000%)
/declaration-of-independence/Matches approved screenshot: phone, initialPass0 of 861,900 pixels differ (0.000%)
/declaration-of-independence/Matches approved screenshot: desktop, readingPass0 of 1,492,480 pixels differ (0.000%)
/don-quijote/Matches approved screenshot: desktop, initialPass0 of 1,300,480 pixels differ (0.000%)
/don-quijote/Matches approved screenshot: phone, initialPass47 of 680,160 pixels differ (0.007%)
/don-quijote/Matches approved screenshot: desktop, readingPass0 of 1,300,480 pixels differ (0.000%)
/gettysburg-address/Self-test: a deliberate design change is detectedPassDetected and reported: 12,669 pixels differ (0.75%)

Visual regression screenshots

Each screenshot from this run is compared pixel by pixel with an approved baseline. The difference map marks changed pixels in red. The self-test changes the design on purpose to show that the comparison catches real changes.

Recent runs

Last 3 published runs
Date (Central)Checks passedResult
Oct 3, 2026, 8:03 PM81 of 81Pass
Oct 3, 2026, 7:57 PM81 of 81Pass
Oct 3, 2026, 7:17 PM81 of 81Pass

Download the full results (JSON)