ARIA live region tests

Test page to verify current browser/screen reader behaviour for live regions - see w3c/aria/issues/2154 for context.

Note that role="alert" is slightly "magic" and triggers an announcement even in cases where you generally don't expect it - see w3c/aria/issues/2153.

Does not include role="marquee" and role="timer" at this stage, as they have an intrinsic aria-live="off" and will require a different type of test - see w3c/aria/issues/2144.

Ported over from codepen

Test results 27/04/2024.

Already present on page load

Load/reload codepen to verify if any of these get announced on page load.

This is the <div aria-live="polite"> already present and populated on page load.
This is the <div aria-live="assertive"> already present and populated on page load.
This is the <div role="status"> already present and populated on page load.
This is the <div role="log"> already present and populated on page load.

Flipping display:none on a fully-populated live region container

Fully populated generic <div aria-live="polite">

Fully populated generic <div aria-live="assertive">

Fully populated <div role="status">

Fully populated <div role="alert">

Fully populated <div role="log">

Dynamically generating a fully-populated live region container

Fully populated generic <div aria-live="polite">

Fully populated generic <div aria-live="assertive">

Fully populated <div role="status">

Fully populated <div role="alert">

Fully populated <div role="log">

Injecting message dynamically into existing live region container

Existing generic <div aria-live="polite">

Existing generic <div aria-live="assertive">

Existing <div role="status">

Existing <div role="alert">

Existing <div role="log">

Dynamically generating live region, then after delay injecting message

Using a 150ms delay.

Generate generic <div aria-live="polite">, then inject

Generate generic <div aria-live="assertive">, then inject

Generate <div role="status">, then inject

Generate <div role="alert">, then inject

Generate <div role="log">, then inject