glitchier-soc/app/javascript/mastodon
Gô Shoemake 08e4c78e78 Fix column headers accessibility (#6199)
* Fix accessibility of column headers

As a screen reader user new to Mastodon, I encountered the following issues with the column headers as designed:
 * Jumping between them was difficult. FOr instance, passing my home timeline to reach notification settings was difficult to impossible, especially considering infinite scrolling.
 * There doesn't appear to be any means for triggering the control via the keyboard. the `titleClick` handler only responds to mouse clicks.
 * I didn't even realize there was a Settings toggle until I made this change.

Thanks for using ARIA in your designs. It's a huge help. But adding a `button` role doesn't add keyboard handling and other button behavior. Also, because the role was on the heading container, it obscured the controls within the container itself. This fix resolve that. It also exposes the headings as headings rather than buttons, enabling skipping columns by using screen readers' heading navigation commands.

Since I myself am blind, if this fix requires additional visual styling, I'd like help applying that so it can be merged. I'd consider it an essential accessibility fix for my and other blind users' existence on the platform. Thanks!

* Styling fixes

* Fixed overflow issue
2018-01-15 04:33:06 +01:00
..
actions Refactor /api/web APIs to use the centralized axios instance (#6223) 2018-01-08 20:01:33 +01:00
components Fix column headers accessibility (#6199) 2018-01-15 04:33:06 +01:00
containers Optional notification muting (#5087) 2017-11-15 03:56:41 +01:00
features Refactor /api/web APIs to use the centralized axios instance (#6223) 2018-01-08 20:01:33 +01:00
locales Weblate translations (#6228) 2018-01-09 20:30:28 +09:00
middleware Audio.prototype.seek is undefined (#5935) 2017-12-09 01:25:00 +01:00
reducers Rename key to path in actions and reducers for settings (#6105) 2018-01-02 13:50:54 +01:00
selectors Profile redirect notes (#5746) 2017-11-18 19:39:02 +01:00
service_worker Refactor Web::PushSubscription, remove welcome message (#4524) 2017-09-01 13:35:23 +02:00
store refactor: Make all reducers sync (#4125) 2017-07-09 12:16:08 +02:00
.gitkeep Replace sprockets/browserify with Webpack (#2617) 2017-05-03 02:04:16 +02:00
api.js Refactor /api/web APIs to use the centralized axios instance (#6223) 2018-01-08 20:01:33 +01:00
base_polyfills.js Enable ESLint rules import/* (#5414) 2017-10-16 11:12:09 +02:00
extra_polyfills.js Add object-fit polyfill for Edge (#4182) 2017-07-14 01:59:34 +02:00
initial_state.js Refactor initial state: "me" (#5563) 2017-10-31 11:27:48 +09:00
is_mobile.js Change mobile layout breakpoint from 1024px to 630px (#5063) 2017-09-24 01:25:07 +02:00
link_header.js Improve eslint rules (#3147) 2017-05-20 17:31:47 +02:00
load_polyfills.js Load extra polyfills when isIntersecting is undefined (#4469) 2017-07-31 19:40:20 +02:00
main.js bug fix (WebPush does not work) (#6120) 2017-12-28 16:20:34 +01:00
performance.js Upgrade to React 16 (#5119) 2017-09-30 04:29:56 +02:00
ready.js Do not load unnecessary script files (#4193) 2017-07-14 11:08:56 +02:00
rtl.js Improve RTL detection (#3682) 2017-06-10 15:06:50 +02:00
scroll.js Scroll smoothly to the right (#4735) 2017-08-29 17:06:19 +02:00
settings.js Move push notifications settings (regression from #5879) (#5941) 2017-12-09 14:18:45 +01:00
stream.js Use streaming API for standalone timelines on /about and /tag pages (#5998) 2017-12-13 02:12:41 +01:00
test_setup.js Replace JavaScript Testing Framework from Mocha to Jest (#5412) 2017-10-16 09:33:08 +02:00
uuid.js Replace sprockets/browserify with Webpack (#2617) 2017-05-03 02:04:16 +02:00