Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: improve a11y of emoji list #284

Merged
merged 1 commit into from
Mar 12, 2019
Merged

Conversation

nolanlawson
Copy link

fixes #218

This isn't my ideal implementation, but it broadly fixes the issues in #218. It's a good start. 🙂

  1. Convert each clickable <span> into a <button> so that it's keyboard-accessible
  2. Wrap each category list into a <section> with an aria-label corresponding to that section (should probably be a <ul>, but we can do that later)
  3. Wrap the entire list of categories in a <section> with its own aria-label, currently defaulting to "List of emoji". This can be tweaked using the i18n object.

Potentially we could also include the shortcodes in the aria-label for each button; for now it's just the emoji itself.

nolanlawson added a commit to nolanlawson/emoji-mart that referenced this pull request Mar 10, 2019
nolanlawson added a commit to nolanlawson/emoji-mart that referenced this pull request Mar 10, 2019
@nolanlawson
Copy link
Author

OK, I've added an aria-label containing the emoji itself plus all shortcodes, separated by commas. I did this because I realized that custom emoji had no accessible text (!) plus even native emoji were sometimes unclear with only one shortcode (e.g. 👍 reads as "+1", which is more clear if you add "thumbsup").

@hartmut-co-uk
Copy link

@nolanlawson when I visit https://missive.github.io/emoji-mart/
should I now be able to type, then navigate results via arrow keys?
A first try in Chrome doesn't seem to work - or is this a misunderstanding on my side what's been implemented with this PR?

@nolanlawson
Copy link
Author

Yes, in terms of improving the accessibility of emoji-mart, I didn't make it a full autocomplete pattern where you can press the arrow keys to navigate between results. You have to just use the regions to move around after typing into the search bar.

Certainly not a perfect design a11y-wise, but it's at least usable with a keyboard, whereas before it wasn't. Should we open up a separate issue to improve the a11y further?

serebrov added a commit to serebrov/emoji-mart-vue that referenced this pull request Mar 14, 2021
It now works with VoiceOver, it is possible to loop through the
picker elements and "click" them.

It does not work with regular keyboard control (no Voice Over, just
arrow keys).

This is actually expected, and the parent project [change](missive/emoji-mart#284)
also states that:

> should I now be able to type, then navigate results via arrow keys?

Yes, in terms of improving the accessibility of emoji-mart, I didn't make it a full autocomplete pattern
where you can press the arrow keys to navigate between results.
You have to just use the regions to move around after typing into the search bar.

Certainly not a perfect design a11y-wise, but it's at least usable with a keyboard, whereas before it wasn't.
meticulousfan added a commit to meticulousfan/vue-emoji-mart that referenced this pull request Aug 17, 2022
It now works with VoiceOver, it is possible to loop through the
picker elements and "click" them.

It does not work with regular keyboard control (no Voice Over, just
arrow keys).

This is actually expected, and the parent project [change](missive/emoji-mart#284)
also states that:

> should I now be able to type, then navigate results via arrow keys?

Yes, in terms of improving the accessibility of emoji-mart, I didn't make it a full autocomplete pattern
where you can press the arrow keys to navigate between results.
You have to just use the regions to move around after typing into the search bar.

Certainly not a perfect design a11y-wise, but it's at least usable with a keyboard, whereas before it wasn't.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

A11Y: EmojiList should be keyboard accessible
2 participants