Checking Web Inspector protocol (specifically live region properties) for the Accessibility Node Inspector.

Total elements to be tested: 31.

<div role="alert" aria-relevant="text text">relevant: text (duplicate)</div>
    exists: true
    liveRegionAtomic: true
    liveRegionRelevant: text
    liveRegionStatus: assertive

<div role="alert" aria-relevant="additions removals removals">relevant: additions removals (duplicate)</div>
    exists: true
    liveRegionAtomic: true
    liveRegionRelevant: additions,removals
    liveRegionStatus: assertive

<div role="alert" aria-relevant="text removals additions">relevant: all (implicit)</div>
    exists: true
    liveRegionAtomic: true
    liveRegionRelevant: additions,removals,text
    liveRegionStatus: assertive

<div role="alert" aria-relevant="text additions removals">relevant: all (implicit)</div>
    exists: true
    liveRegionAtomic: true
    liveRegionRelevant: additions,removals,text
    liveRegionStatus: assertive

<div role="alert" aria-relevant="additions removals text">relevant: all (implicit)</div>
    exists: true
    liveRegionAtomic: true
    liveRegionRelevant: additions,removals,text
    liveRegionStatus: assertive

<div role="alert" aria-relevant="all">relevant: all (explicit)</div>
    exists: true
    liveRegionAtomic: true
    liveRegionRelevant: additions,removals,text
    liveRegionStatus: assertive

<div role="alert" aria-relevant="additions">relevant: additions</div>
    exists: true
    liveRegionAtomic: true
    liveRegionRelevant: additions
    liveRegionStatus: assertive

<div role="alert" aria-relevant="text">relevant: text</div>
    exists: true
    liveRegionAtomic: true
    liveRegionRelevant: text
    liveRegionStatus: assertive

<div role="alert" aria-relevant="removals">relevant: removals</div>
    exists: true
    liveRegionAtomic: true
    liveRegionRelevant: removals
    liveRegionStatus: assertive

<div role="alert" aria-relevant="removals text">relevant: removals text</div>
    exists: true
    liveRegionAtomic: true
    liveRegionRelevant: removals,text
    liveRegionStatus: assertive

<div role="alert" aria-relevant="additions removals">relevant: additions removals</div>
    exists: true
    liveRegionAtomic: true
    liveRegionRelevant: additions,removals
    liveRegionStatus: assertive

<div role="alert" aria-relevant="text additions">relevant: additions text (order should be normalized)</div>
    exists: true
    liveRegionAtomic: true
    liveRegionRelevant: additions,text
    liveRegionStatus: assertive

<div role="alert" aria-relevant="additions text">relevant: additions text (explicit)</div>
    exists: true
    liveRegionAtomic: true
    liveRegionRelevant: additions,text
    liveRegionStatus: assertive

<div role="alert">relevant: additions text (implicit)</div>
    exists: true
    liveRegionAtomic: true
    liveRegionRelevant: additions,text
    liveRegionStatus: assertive

<div role="timer">off (default)</div>
    exists: true

<div role="status" aria-live="off">off</div>
    exists: true

<div role="status" aria-live="assertive">assertive</div>
    exists: true
    liveRegionAtomic: true
    liveRegionRelevant: additions,text
    liveRegionStatus: assertive

<div role="status">polite (default)</div>
    exists: true
    liveRegionAtomic: true
    liveRegionRelevant: additions,text
    liveRegionStatus: polite

<div role="marquee">off (default)</div>
    exists: true

<div role="log" aria-live="off">off</div>
    exists: true

<div role="log" aria-live="assertive">assertive</div>
    exists: true
    liveRegionAtomic: false
    liveRegionRelevant: additions,text
    liveRegionStatus: assertive

<div role="log">polite (default)</div>
    exists: true
    liveRegionAtomic: false
    liveRegionRelevant: additions,text
    liveRegionStatus: polite

<div role="alert" aria-live="polite">polite</div>
    exists: true
    liveRegionAtomic: true
    liveRegionRelevant: additions,text
    liveRegionStatus: polite

<div role="alert" aria-live="off">off</div>
    exists: true

<div role="alert">assertive (default)</div>
    exists: true
    liveRegionAtomic: true
    liveRegionRelevant: additions,text
    liveRegionStatus: assertive

<div role="group" aria-live="assertive" aria-busy="true" aria-atomic="false">assertive</div>
    exists: true
    busy: true
    liveRegionAtomic: false
    liveRegionRelevant: additions,text
    liveRegionStatus: assertive

<div role="group" aria-live="polite" aria-busy="true" aria-atomic="false">polite</div>
    exists: true
    busy: true
    liveRegionAtomic: false
    liveRegionRelevant: additions,text
    liveRegionStatus: polite

<div role="group" aria-live="off" aria-busy="true" aria-atomic="false">off</div>
    exists: true
    busy: true

<div role="group" aria-live="assertive" aria-busy="true" aria-atomic="true">assertive</div>
    exists: true
    busy: true
    liveRegionAtomic: true
    liveRegionRelevant: additions,text
    liveRegionStatus: assertive

<div role="group" aria-live="polite" aria-busy="true" aria-atomic="true">polite</div>
    exists: true
    busy: true
    liveRegionAtomic: true
    liveRegionRelevant: additions,text
    liveRegionStatus: polite

<div role="group" aria-live="off" aria-busy="true" aria-atomic="true">off</div>
    exists: true
    busy: true

