WordPress.org

Make WordPress Core

Opened 4 years ago

Last modified 2 months ago

#21414 assigned enhancement

Use the "Keyboard Shortcuts" checkbox in the user profile to turn on/off all custom shortcuts

Reported by: azaozz Owned by: azaozz
Milestone: Future Release Priority: normal
Severity: normal Version:
Component: TinyMCE Keywords: ux-feedback needs-refresh has-patch
Focuses: accessibility Cc:

Description

Custom keyboard shortcuts can be very handy not only for better accessibility but for faster access to many actions that usually require "mousing". For example we could potentially add shortcuts to access the top menu items or the more commonly used toolbar items.

However many of the available keystrokes (modifier [+ modifier] + letter) are already in use. Even worse, different shortcuts are in use in different browsers and different OS.

It would be good to let the users decide whether to enable them. As we already have a checkbox for the comment moderation shortcuts, best would be to make it "global". For now that would only affect TinyMCE.

Attachments (4)

21414.patch (15.1 KB) - added by azaozz 4 years ago.
21414.1.patch (12.3 KB) - added by azaozz 3 months ago.
2.png (17.8 KB) - added by azaozz 3 months ago.
1.png (23.0 KB) - added by azaozz 3 months ago.

Download all attachments as: .zip

Change History (22)

#1 @azaozz
4 years ago

  • Keywords ux-feedback added

@azaozz
4 years ago

#2 @azaozz
4 years ago

21414.patch:

  • Changes the User Profile -> Keyboard Shortcuts checkbox label to "Enable keyboard shortcuts".
  • Adds options to TinyMCE to enable/disable the custom shortcuts and define the modifier key(s).
  • Sets the TinyMCE buttons descriptions with or without the shortcuts strings.

#4 @nacin
3 years ago

  • Component changed from Accessibility to TinyMCE
  • Focuses accessibility added

For the record, not sure I love this.

This ticket was mentioned in Slack in #accessibility by afercia. View the logs.


13 months ago

#6 @ceo
13 months ago

Keyboard shortcuts are terribly useful and I'm always surprised how many people are not more aware of them.

However, as a screen reader user, they can be somewhat of a nuisance since they can so easily conflict with the commands already in place. And since these are different depending on what screen reader you might be using, plus the browser and OS, I think it's very important to have a toggle to disable them.

As it is in all the time I've used WP, I have never had the comment shortcuts enabled. Very wacky things happen.

This ticket was mentioned in Slack in #accessibility by rianrietveld. View the logs.


13 months ago

#8 @iseulde
11 months ago

  • Keywords close added

However many of the available keystrokes (modifier [+ modifier] + letter) are already in use. Even worse, different shortcuts are in use in different browsers and different OS.

Is this still relevant? I think we resolved all conflicts?

#9 @helen
11 months ago

Not sure if overall this is all that relevant anymore, but I do think that this option should be in profile/personal settings instead of a "screen option" - we use screen options for a mix of things, but generally they are about the display of the screen, and it's pretty strange to set personal preferences in multiple places. I would not want to see one global keyboard shortcuts option in default UI, though.

This ticket was mentioned in Slack in #accessibility by rianrietveld. View the logs.


4 months ago

#11 @afercia
4 months ago

  • Keywords needs-refresh added; close removed
  • Milestone changed from Awaiting Review to 4.6
  • Owner set to azaozz
  • Status changed from new to assigned

Discussed a bit in today's accessibility bug scrub meeting, this is something we'd recommend to introduce in 4.6. Especially screen reader users may experience conflicts with existing shortcuts and it just make sense to add an option in profile/personal settings near the existing ones for comments.
Milestoning for 4.6 and assigning to @azaozz :) Any thoughts more than welcome.

This ticket was mentioned in Slack in #core by chriscct7. View the logs.


3 months ago

#13 @azaozz
3 months ago

The discussion so far:

  • We resolved (nearly?) all of the conflicts with the Visual editor shortcuts.
  • It will be really good to let the users disable certain shortcuts, especially for accessibility / screen reader users.
  • The setting should not be in Screen Options as "they are about the display of the screen".
  • We shouldn't have only one setting for all shortcuts.
  • It "makes sense to add an option in profile/personal settings near the existing ones for comments".

Conclusion: we should add another checkbox (probably) after the "Enable keyboard shortcuts for comment moderation." on the Profile page, on by default, to control the extra editor shortcuts we add to TinyMCE.

One "side" question is if we should disable only the shortcuts we are adding, or all custom shortcuts like Ctrl+Shift+F for fullscreen, and leave only the default OS shortcuts like Cmd/Ctrl+C (copy), Cmd/Ctrl+V (paste), etc.

Last edited 3 months ago by azaozz (previous) (diff)

@azaozz
3 months ago

#14 @azaozz
3 months ago

In 21414.1.patch: refreshed 21414.patch, added missing bits and removed obsolete code.

Instead of removing these shortcuts from the editor help, added a note about them being disabled and a link to the profile screen to enable them (the text may need improving).

@azaozz
3 months ago

@azaozz
3 months ago

This ticket was mentioned in Slack in #accessibility by afercia. View the logs.


2 months ago

#16 @afercia
2 months ago

Related: #33566.

This ticket was mentioned in Slack in #core by ocean90. View the logs.


2 months ago

#18 @ocean90
2 months ago

  • Keywords has-patch added
  • Milestone changed from 4.6 to Future Release

21414.1.patch needs a refresh to apply cleanly. Also:

  • The fieldset block needs some whitespaces.
  • https://codex.wordpress.org/Keyboard_Shortcuts should be its own string
  • Currently disabled. Can be enabled in your %1$sprofile settings%2$s. should be Currently disabled. Can be enabled in your <a href="%s">profile settings</a>.
Note: See TracTickets for help on using tickets.