X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=resources%2Fsrc%2Fmediawiki.widgets%2Fmw.widgets.TitleOptionWidget.js;h=3583e5ec9016b40f818735119af039bb59b76344;hb=0b88e6fb8c09f92ba5df941e0795121df76e8d9c;hp=46960f55b9a4e86c6a9f6960dcee84197bb4300f;hpb=ecaa5e87af254096793e3b6dd3aee7df0ec4e4f0;p=lhc%2Fweb%2Fwiklou.git diff --git a/resources/src/mediawiki.widgets/mw.widgets.TitleOptionWidget.js b/resources/src/mediawiki.widgets/mw.widgets.TitleOptionWidget.js index 46960f55b9..3583e5ec90 100644 --- a/resources/src/mediawiki.widgets/mw.widgets.TitleOptionWidget.js +++ b/resources/src/mediawiki.widgets/mw.widgets.TitleOptionWidget.js @@ -51,16 +51,23 @@ this.$label.attr( 'href', config.url ); this.$element.addClass( 'mw-widget-titleOptionWidget' ); + // OOUI OptionWidgets make an effort to not be tab accessible, but + // adding a link inside them would undo that. So, explicitly make it + // not tabbable. + this.$label.attr( 'tabindex', '-1' ); + // Allow opening the link in new tab, but not regular navigation. this.$label.on( 'click', function ( e ) { - // Do not interfere with non-left clicks or if modifier keys are pressed (e.g. ctrl-click). + // Don't interfere with special clicks (e.g. to open in new tab) if ( !( e.which !== 1 || e.altKey || e.ctrlKey || e.shiftKey || e.metaKey ) ) { e.preventDefault(); } } ); // Highlight matching parts of link suggestion - this.$label.autoEllipsis( { hasSpan: false, tooltip: true, matchText: config.query } ); + this.$label + .highlightText( config.query ) + .attr( 'title', config.data ); if ( config.missing ) { this.$label.addClass( 'new' );