A singleton element that simplifies announcing text to screen readers.
npm install @polymer/iron-a11y-announcer



iron-a11y-announcer is a singleton element that is intended to add a11y
to features that require on-demand announcement from screen readers. In
order to make use of the announcer, it is best to request its availability
in the announcing element.
Note: announcements are only audible if you have a screen reader enabled.
See: Documentation,
Demo
npm install --save @polymer/iron-a11y-announcer
`$3
`html
`$3
`js
import {PolymerElement, html} from '@polymer/polymer';
import {IronA11yAnnouncer} from '@polymer/iron-a11y-announcer/iron-a11y-announcer.js';class SampleElement extends PolymerElement {
static get template() {
return html
;
}
function attached() {
IronA11yAnnouncer.requestAvailability();
} // After the
iron-a11y-announcer has been made available, elements can
// make announces by firing bubbling iron-announce events.
// Note: announcements are only audible if you have a screen reader enabled.
function announce() {
IronA11yAnnouncer.instance.fire('iron-announce',
{text: 'Hello there!'}, {bubbles: true});
}
}
customElements.define('sample-element', SampleElement);
`Contributing
If you want to send a PR to this element, here are
the instructions for running the tests and demo locally:$3
`sh
git clone https://github.com/PolymerElements/iron-a11y-announcer
cd iron-a11y-announcer
npm install
npm install -g polymer-cli
`$3
`sh
polymer serve --npm
open http://127.0.0.1:/demo/
`$3
`sh
polymer test --npm
`Known Issues
This element doesn't work on Firefox (it doesn't read anything in Voice Over), since
aria-live` has been broken since the Quantum redesign (see the MDN docs demo)