Tell candidates the test sound is optional
The media preflight accepts the candidate's click as confirmation of sound output without a test playback, since the candidate is the only reliable sensor of their own output, but its wording read as if playing a test sound were required. The Sound step now reads 'play a test sound to check your audio, or click "I heard it" if it already works.' in both the markup in web/interview.html and paintPreflight in web/interview.js, and the output message of mediaReadiness in web/audio-check.js reads 'Play the test tone or voice to check your audio, or click "I heard it" if it already works.' Both name the button that confirms output, so a candidate who skips the test knows what to press. confirmOutput, click-to-confirm and the other mediaReadiness messages are unchanged.
A test in tests/browser/audio-check.test.js runs paintPreflight on the state mediaReadiness returns while output is the remaining step, and checks that the Sound step text it writes matches the markup and that the status line shows the new message. It fails if any one of the three texts is changed alone.
Closes #359
Summary by cubic
The media preflight accepts the candidate's click as confirmation of sound output without a test playback, but the wording read as if playing a test sound were required. Updates the Sound step and status message to make clear the test is optional.
- Changes the step text in
web/interview.html,paintPreflightinweb/interview.js, and themediaReadinessstatus message inweb/audio-check.jsto "play a test sound ... or click 'I heard it' if it already works." - Adds a test in
tests/browser/audio-check.test.jsthat confirms the step textpaintPreflightwrites matches the markup and the new status message.
Closes #359.