Screen readers in their default settings MAY NOT identify special and non-alpha numeric
characters such as emojis, symbols, punctuations, emoticons, and so on. Hence, the correct meaning of these
characters IS NOT conveyed to screen reader users.
Figure 1 Example of webpage containing special and non-alpha numeric characters
NOTE:
New to accessibility or uncertain of requirements, it will be helpful to review all sections below.
Already familiar with requirements, skip to the “Working Example” section for sample HTML, CSS
and JavaScript (when needed), along with a working demo.
It is advisable to provide alternatives to special characters so that screen reader users understand
the meaning correctly.
Special characters that represent visual meaning and are announced incorrectly
SHOULD have descriptive textual description defined using
aria-label attribute along with role="img".
Alternatively, it can be hidden by providing aria-hidden="true" for the
container in which it is coded and hidden off-screen text conveying additional information can be
provided.
Special characters coded using <img> element SHOULD have
descriptive textual description using alt attribute.
Special characters coded using <svg> element or any other CSS classes should have descriptive
textual description via aria-label attribute.
For example,
<img src="smiling-hearteyes.png" alt="Smiling face with heart shaped eyes">
Decorative icons or special characters which do not convey any meaning and functionality
SHOULD be hidden to screen reader users by specifying
aria-hidden="true" attribute.