@wordpress/a11y
Version:
Accessibility (a11y) utilities for WordPress.
55 lines (48 loc) • 1.95 kB
text/typescript
import addContainer from '../add-container';
describe( 'addContainer', () => {
describe( 'with polite param', () => {
it( 'should create an aria-live element with aria-live attr set to polite', () => {
const container = addContainer( 'polite' );
expect( container ).not.toBeNull();
expect( container.className ).toBe( 'a11y-speak-region' );
expect( container.id ).toBe( 'a11y-speak-polite' );
expect( container ).toHaveAttribute( 'style' );
expect( container ).toHaveAttribute( 'aria-live', 'polite' );
expect( container ).toHaveAttribute(
'aria-relevant',
'additions text'
);
expect( container ).toHaveAttribute( 'aria-atomic', 'true' );
} );
} );
describe( 'with assertive param', () => {
it( 'should create an aria-live element with aria-live attr set to assertive', () => {
const container = addContainer( 'assertive' );
expect( container ).not.toBeNull();
expect( container.className ).toBe( 'a11y-speak-region' );
expect( container.id ).toBe( 'a11y-speak-assertive' );
expect( container ).toHaveAttribute( 'style' );
expect( container ).toHaveAttribute( 'aria-live', 'assertive' );
expect( container ).toHaveAttribute(
'aria-relevant',
'additions text'
);
expect( container ).toHaveAttribute( 'aria-atomic', 'true' );
} );
} );
describe( 'without param', () => {
it( 'should default to creating an aria-live element with aria-live attr set to polite', () => {
const container = addContainer( 'polite' );
expect( container ).not.toBeNull();
expect( container.className ).toBe( 'a11y-speak-region' );
expect( container.id ).toBe( 'a11y-speak-polite' );
expect( container ).toHaveAttribute( 'style' );
expect( container ).toHaveAttribute( 'aria-live', 'polite' );
expect( container ).toHaveAttribute(
'aria-relevant',
'additions text'
);
expect( container ).toHaveAttribute( 'aria-atomic', 'true' );
} );
} );
} );