Page MenuHomePhabricator

Consider removing tabindex from 'diff' links on Special:RecentChanges
Closed, ResolvedPublic


These were added back in 2004 (MediaWiki 1.2.4) by @GWicke with 0340509d5200. They've survived many refactors (split off from Skin into ChangesList etc) but are still there:


$diffLink = Linker::linkKnown(
	array( 'tabindex' => $rc->counter ),
<div class="mw-changeslist"><h4>21 October 2015</h4>
<ul class="special"><li ..>(<a href tabindex="1">diff</a> | ..</li>
<li ..>(<a href tabindex="2">diff</a> | ..</li>

At least they can probably be given the same tabindex since browsers naturally spread sequential context anyway (similar to z-index).

This came up in an audit of tabindex use which affected the search bar in the Vector skin, where the JavaScript assigns it the highest known tabindex +1 (source), which behaves a bit odd on Special:RecentChanges.

What is this tabindex for? Can the usecase be satisfied with a different solution?

Event Timeline

Krinkle raised the priority of this task from to Needs Triage.
Krinkle updated the task description. (Show Details)
Krinkle added subscribers: Krinkle, GWicke, brion and 2 others.

Change 290509 had a related patch set uploaded (by TheDJ):
Remove explicit tabindex from diff links

TheDJ triaged this task as Lowest priority.

@Graham87 Hi Graham, this ticket/patch would remove the tabindex of the diff links, from the Special:Watchlist and Special:RecentChanges pages.

That means that all links inside a row of one of these pages, would be 'in order', instead of like now, where you first get all 50 diff links by tabbing through the page.

If I remember correctly, you once told me that your screenreader doesn't use tabindex, so this should not influence you, this should only change behavior for keyboard-only users. Wanted to inform you, just in case I am mistaken.

Change 290509 merged by jenkins-bot:
Remove explicit tabindex from diff links