Tell candidates the test sound is optional

Merged
LA
12h ago
+41-3

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, paintPreflight in web/interview.js, and the mediaReadiness status message in web/audio-check.js to "play a test sound ... or click 'I heard it' if it already works."
  • Adds a test in tests/browser/audio-check.test.js that confirms the step text paintPreflight writes matches the markup and the new status message.

Closes #359.