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

Improve accessibility (part 4) #4408

Merged
merged 14 commits into from
Jul 28, 2017
Merged

Improve accessibility (part 4) #4408

merged 14 commits into from
Jul 28, 2017

Conversation

sorin-davidoi
Copy link
Contributor

@sorin-davidoi sorin-davidoi commented Jul 28, 2017

Follow-up to #4369, #4377, #4405.

The following components can now be interacted with using the keyboard:

  • EmojiPicker
  • DropdownMenu
  • PrivacyDropdown
  • ActionsModal
  • Notification toggles

I wish there was a way to avoid using onKeyDown (and hard coding Enter and Escape), but that would mean using button instead of div, which messes up the styles (plus modules that can't be customized).

Also, includes some preliminary work for making the feeds accessible.

Turned off another rule; jsx-a11y/role-supports-aria-props. It complaints that

The attribute aria-setsize is not supported by the role article. This role is implicit on the element article.

article clearly supports this attribute.

@Gargron Gargron merged commit b7d47c2 into mastodon:master Jul 28, 2017
hcmiya pushed a commit to hcmiya/v6don that referenced this pull request Jul 29, 2017
* fix(dropdown_menu): Keyboard navigation

* fix(icon_button): Add aria-pressed attribute

* fix(privacy_dropdown): Make accessible

* fix(emoji_picker_dropdown): Make accessible

* fix(icon_button): Support tabIndex

* fix(actions_modal): Remove icon from tab order

* fix(dropdown_menu): Add role=group

* fix(setting_toggle): Toggle via space key

* fix(dropdown_menu): Remove redundant handling of Space key

* fix(emoji_picker_dropdown): Remove redundant Space key handling

* fix(privacy_dropdown): Remove redundant Space key handling

* fix(status): Switch to article and add aria-posinset, aria-setsize

* fix(status_list): Use role=feed and pass more ARIA props to Status

* chore(eslint): jsx-a11y/role-supports-aria-props
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.

None yet

2 participants