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' );