Page MenuHomePhabricator

Do not use href=# for any links
Open, LowPublic

Description

UniversalLanguageSelector generates buttons with JavaScript like <a href="#"> which allows a middle click with the mouse witch opens a new tab on the same page.

Either fill href with a suitable value where possible or don't set the attribute href or don't use the element a.

Details

Reference
bz41988

Event Timeline

• bzimport raised the priority of this task from to Low.Nov 22 2014, 12:56 AM
• bzimport set Reference to bz41988.

Had fixed this in upstream - https://github.com/wikimedia/jquery.uls/issues/27

Updated it in Mediawiki ULS extension. see gerrit I1efc70

Thanks for fixing.

REOPENED because there are still buttons with <a href="#">.

More removed in gerrit I8eacaa. Can you be bit more specific? Which buttons causing the issue?

Every <a href="#"> button cause this issue.

You removed two occurrence, but there are still buttons with this issue.

Examples:

  • trigger button
  • previous language button
santhosh set Security to None.

lib/jquery.ime/jquery.ime.js
1396: .attr( 'href', '#' )
1434: .attr( 'href', '#' )
1526: '<a class="ime-name imeselector-toggle" href="#"></a>' +

resources/js/ext.uls.interface.js
263: href: '#',

UniversalLanguageSelector.hooks.php
190: 'href' => '#',
382: 'default' => "<a id='uls-preferences-link' href='#'></a>",
443: 'href' => '#',

Nikerabbit renamed this task from Middle click with <a href="#"> to Do not use href=# for any links.Aug 18 2016, 1:08 PM
Nikerabbit updated the task description. (Show Details)

UniversalLanguageSelector.hooks.php
190: 'href' => '#',

is currently problematic, because makeListItem() in core omits the <a> entirely without the attribute href.