Private Use Area is an accessibility issue

The iNaturalist Web UI makes extensive use of custom fonts and the Unicode private use area. E.g. for the down arrow on dropdown menus:

This is inaccessible to screen readers. Only standardized characters should be used. Where necessary navigation images should have alt text.

E.g. here instead of F107 iNaturalist could use the standard character 25BC


Do you use a screen reader? If so, which one, and what does it say when it encounters F107 vs. 25BC? When I have the MacOS default reader read 25BC or F107 in a browser it just doesn’t say anything for either, which would suggest to me that they’re equivalent to a screen reader. However, it also seems to ignore the aria-hidden attribute, so maybe it’s not the best screen reader to test with.

Removing or replacing all font-based icons on the site would be a big effort, so big that we’d probably want to roll it into a wider accessibility overhaul, but that’s a long ways down the road. However, I think we could make incremental changes for icons where there is a clear unicode equivalent character, like ▼, :e-mail:, or :left_speech_bubble:, assuming it actually makes a difference to users of screen readers (FWIW, the only one of those characters the MacOS reader pronounced was :e-mail:).


I don’t personally use a screen reader aside from occasionally checking my own sites for accessibility. (The results when I do are illuminating, to say the least. It’s certainly changed how I think about web design.)

Regardless, the goal is not to support this screen reader or that one. You’ll never get them all, and there will always be something you’re not accounting for. The effective approach is to use standards-based design and markup that works everywhere. This supports not only traditional browsers and readers but also other software that consumes pages, including software that doesn’t exist yet.

Trying to customize code for every browser is a sisyphean task. You’ll never support everything and the site will fail some users.

Indeed. However, I would like some evidence that this would improve the experience for a screen reader. It does not for the one I have access to, so I was hoping you used a different one and could tell me if it says something useful when it encounters characters like ▼, :e-mail:, or :left_speech_bubble:, because mine does not. I’m happy to make changes that make our custodial duties more difficult if it actually benefits someone, but right now I’m not convinced it will.