Wikipedia:KK
Using access keys
An access key allows a computer user to immediately jump to a specific part of a web page via the keyboard. On Wikipedia, access keys allow you to do a lot more—protect a page, show page history, publish your changes, show preview text, and so on. See the next section for the full list.
Most web browsers require holding down one or two modifier keys to use an access key. Different web browsers invoke access keys in different ways. Please use the list below to determine the appropriate key combination for your browser and system:
Browser | Operating system | Instructions |
---|---|---|
Google Chrome & Chromium Opera 15+ MS Edge |
Windows | hold Alt+access key hold Alt+⇧ Shift+access key hold Alt+Control+⇧ Shift+access key |
Chrome OS | ||
Linux | hold Alt+⇧ Shift+access key hold Alt+access key | |
macOS | hold Control+⌥ Option+access key | |
Firefox | Windows, Linux | hold Alt+⇧ Shift+access key |
macOS | hold Control+⌥ Option+access key | |
Internet Explorer MS Edge (EdgeHTML) |
Windows | hold Alt+access key |
Safari | macOS | hold Control+⌥ Option+access key |
Windows | hold Alt+access key |
Older browsers
|
---|
|
List of access keys
|
|
|
Sortable list
Currently, in the a–z range, only a
is unassigned. p
, v
, w
are assigned to multiple functions, depending on the context.
Key | Function | Context |
---|---|---|
f | Move cursor to search box | Site navigation |
q | Special pages | Site navigation |
r | Recent changes | Site navigation |
u | Upload file (only available to logged-in users) | Site navigation |
x | Random article | Site navigation |
z | Main Page | Site navigation |
. | My user page | Personal tools |
l | My watchlist (only available to logged-in users) | Personal tools |
n | My talk | Personal tools |
o | Log in (only available when logged-out) | Personal tools |
y | My contributions | Personal tools |
e | Edit this page / view source (if you are blocked or the page is protected from editing) | Current page tools |
v | Edit with VisualEditor (if available, namespace must be: (Main), File, User, Category or Help) | Current page tools |
g | Open associated Wikidata item | Current page tools |
h | View history | Current page tools |
j | What links here | Current page tools |
k | Related changes | Current page tools |
m | Move page (only available to logged-in users) | Current page tools |
p | Printable version | Current page tools |
w | Watch / unwatch page (only available to logged-in users) | Current page tools |
t | Switch to talk page | Current page tools |
* | Purge the page's cache (only available to logged-in users with the "Purge option" gadget) | Current page tools |
+ | Start a new discussion | Talk pages |
c | Switch to content page | Talk pages |
, | Move cursor to edit box | Editing page |
b | Move cursor to edit summary | Editing page |
i | Flag edit as minor (only available to logged-in users, not IP users) | Editing page |
p | Show preview | Editing page |
v | Show changes | Editing page |
s | Publish page | Editing page |
w | Toggle "Watch this page" | Editing page |
d | Delete / undelete current page | Admin only |
= | Protect / unprotect current page | Admin only |
Display access keys
By modifying your user CSS file, access key shortcuts can be displayed before internal links on any Wikipedia page.
a:hover[accesskey]:before {
content: " " attr(accesskey) " ";
text-transform: uppercase;
white-space: pre;
font-family: sans-serif;
margin-right: 0.5ex;
color: black;
}
a[accesskey]:before {
content: " " attr(accesskey) " ";
text-transform: uppercase;
white-space: pre;
font-family: sans-serif;
margin-right: 0.5ex;
color: black;
}
a[accesskey]:before {
content: " " attr(accesskey) " ";
text-transform: uppercase;
white-space: pre;
border: thin solid;
font-family: sans-serif;
text-decoration: underline overline;
margin-right: 0.5ex;
color: black;
}
This will not display the accesskeys provided by the VisualEditor (or the mw:2017 wikitext editor), such as 's' to publish the page, as those accesskeys are implemented differently.
Accessibility of access keys
Parts of this help page (those related to this section) need to be updated. Please help update this help page to reflect recent events or newly available information. Relevant discussion may be found on the talk page. |
WikiProject Accessibility |
---|
Keyboard shortcuts, in the way they are implemented on Wikipedia, are useful for some users with disabilities and do not require JavaScript to work. At the same time, they are bothersome for some screen reader users because it interferes with the shortcuts of their screen reader. The best solution would be to have customizable keyboard shortcuts.
The accessibility of keyboard shortcuts (access keys) is a complicated matter. This feature, in its current implementation, was temporarily abandoned in WCAG 2.0, notably because it conflicts with the shortcuts of assistive technologies. Usage of access keys is currently discouraged in the online contents and applications.
But presence of access keys is also an Authoring Tool Accessibility Guidelines (ATAG) requirement—the ATAG approach is particularly relevant in Wikipedia's case—where this matter is looked into thoroughly. In particular, ATAG requires the possibility to customize shortcuts. This should be requested in phab:T2477.
Currently, their presence in Wikipedia's interface can be problematic for some users and can be useful for others. But more importantly, it misleads developers into thinking that the interface is keyboard accessible. Requirements that need to be fulfilled for a website to be keyboard accessible are not related to keyboard shortcuts (G90, F42, SCR35, F58, F61).
Known issues: Gadgets which block keyboard shortcuts
- Gadget wikEd blocks keyboard shortcuts on Google Chrome and Firefox.
User scripts that modify keyboard shortcuts
Some user scripts allow you to add more keyboard shortcuts for various actions or customize existing ones:
- up-one-lvl-kbd (source) – The "U" keyboard shortcut now navigates up one subpage level.
- hover-edit-section (source) – The "D" keyboard shortcut now edits the section you're hovering over.
- page-info-kbd-shortcut (source) – The "I" keyboard shortcut now opens the "Page information" link in your sidebar.
- superjump (source) – Custom keyboard shortcuts to go to any page.
- accessKeysCheatSheet (source) - The "?" keyboard shortcut now overlays a list of all keyboard shortcuts available on the current page.
- safemodeShortcut (source) - The "\" keyboard shortcut now activates safemode on the current page.
Disabling access keys
A gadget exists that may be enabled to remove access key functionality. This may be opted in to using Special:Preferences
See also
- Wikipedia:Using JAWS
- m:Help:Keyboard shortcuts
- mw:VisualEditor/Portal/Keyboard shortcuts
- Wikipedia:VisualEditor/Keyboard_shortcuts
- Wikipedia:Shortcut index
- Table of keyboard shortcuts
- AutoHotkey, a Windows keyboard automation scripting language
- AutoKey, a Linux keyboard scripting language
- Hotkeys – typing shortcuts in text fields
Notes
- ^ For some keys (e.g., r), both Alt and Alt+⇧ Shift work; For other keys (e.g. f), only Alt+⇧ Shift works; For other keys (e.g. .), only Alt works.
- ^ The Alt key without Shift can be used if a Firefox preference in "about:config" is changed: set "ui.key.generalAccessKey" to 18 (see MozillaZine Knowledge Base).
- ^ In some versions you may then need to press ↵ Enter
- ^ Copy the following code, edit your user JavaScript, then paste:
{{subst:lusc|1= User:Enterprisey/up-one-lvl-kbd.js}}
- ^ Copy the following code, edit your user JavaScript, then paste:
{{subst:lusc|1= User:Enterprisey/hover-edit-section.js}}
- ^ Copy the following code, edit your user JavaScript, then paste:
{{subst:lusc|1= User:Enterprisey/page-info-kbd-shortcut.js}}
- ^ Copy the following code, edit your user JavaScript, then paste:
{{subst:lusc|1= User:Enterprisey/superjump.js}}
- ^ Copy the following code, edit your user JavaScript, then paste:
{{subst:lusc|1= User:Guarapiranga/accessKeysCheatSheet.js}}
- ^ Copy the following code, edit your user JavaScript, then paste:
{{subst:lusc|1= User:Tollens/safemodeShortcut.js}}