What is the issue with the HTML Standard?
If a page is in a background tab and comes out of bfcache, visibility doesn't automatically change to "visible". Firefox and Chrome dispatch a single visibilitychange event and state is "hidden". Webkit on linux dispatches two events, and state is in both cases "hidden".