Good question, it has bugged me in the past.
From W3C - Audio Control:Understanding SC 1.4.2, it seems that pages that do not offer sound control, or mute, functionality are not adhering to the criterion. Summarising the link:
1.4.2 Audio Control: If any audio on a Web page plays automatically for more than 3 seconds, either a mechanism is available to pause or
stop the audio, or a mechanism is available to control audio volume
independently from the overall system volume level.
Intent of this Success Criterion
Individuals who use screen reading software can find it hard to hear
the speech output if there is other audio playing at the same time.
This difficulty is exacerbated when the screen reader's speech output
is software based (as most are today) and is controlled via the same
volume control as the sound. Therefore, it is important that the user
be able to turn off the background sound. Note: Having control of the
volume includes being able to reduce its volume to zero.
Note the the player in youtu.be offers this control, and remembers previous settings.
Note this page on HTML 5 shows that the controls will be present for volume control.
All of the browsers have start/pause controls, progress bars,
scrubbers, seconds of play, a volume/mute control and, with the
exception of Chrome, also display the total number of seconds in the
The issue was with earlier HTML 4 (and 3?) embedded (
<embed>) audio players, as this code (from 2006) shows
Source: How do I play embedded sounds at a specific volume?
If DOM is used then unfortunately the default is set to 100%, although this can be overriden by the web page designer (should they choose to do so):
1.0 is highest volume (100%. This is default)
0.5 is half volume (50%)
0.0 is silent (same as mute)
So, it appears to come down to which mechanism the web page designer has employed to get sound on to the page.
With respect to audio blasting out, as soon as the page is loaded, that is down to the
autoplay tag, which should be considered a no-no... but it is still offered as an option:
<audio src="audio.mp3" controls autoplay></audio>
The Boolean autoplay attribute is one that I don’t recommend using
because it specifies that the audio begin playing as soon as the page
loads. This is a usability no-no for most scenarios, so exercise
restraint in using this attribute. If you do decide to utilize
autoplay, please be sure to include the controls attribute (or roll
your own custom controls) so that your users can stop the audio or