Page MenuHomePhabricator

Underline links: never preference should not affect hover state in Vector 2022
Open, LowPublic

Description

In the Appearance section of Special:Preferences there is an option for Underline links which can be in three states: Never / Always / Skin or browser default.

In all other Wikimedia deployed skins this does not affect link hover states, which are always underlined. However in Vector 2022, selecting Never means that links are not underlined even when hovered. This is particularly noticeable for visited links, which do not have a color change on hover so have no visual change at all.

Codex spec has links underlined on hover: https://doc.wikimedia.org/codex/latest/components/mixins/link.html

I think this might be a regression in Vector 2022 from the recent link changes, but not sure.

Event Timeline

@Jdlrobson I think this needs to be fixed in the skin? The Codex styles are being overriden...

image.png (202×309 px, 21 KB)

Let's talk about it in the next sync. It's a historic feature, and if we need to continue support it we'll likely need to come to some decision around how given we broke it by using the Codex mixin:
https://gerrit.wikimedia.org/g/mediawiki/core/+/3241c235980269df45e032a09f89998fd4f56967/resources/src/mediawiki.skinning/content.links.less#46

Not a big priority IMO.

Just to note that redlinks do still get the underline on hover, due to higher specificity.

Screenshot 2024-07-11 at 15.32.13.png (117×499 px, 19 KB)

ovasileva triaged this task as Medium priority.Jul 15 2024, 1:14 PM
ovasileva moved this task from Incoming to Groomed on the Desktop Improvements (Vector 2022) board.

Change #1054626 had a related patch set uploaded (by Jdlrobson; author: Jdlrobson):

[mediawiki/core@master] Preferences: Allow skins to opt out of certain preferences

https://gerrit.wikimedia.org/r/1054626

Change #1054627 had a related patch set uploaded (by Jdlrobson; author: Jdlrobson):

[mediawiki/skins/Vector@master] Drop support for underline links

https://gerrit.wikimedia.org/r/1054627

TheDJ subscribed.

Change #1054627 had a related patch set uploaded (by Jdlrobson; author: Jdlrobson):

[mediawiki/skins/Vector@master] Drop support for underline links

https://gerrit.wikimedia.org/r/1054627

Note that this is an Accessibility setting, I think we should keep supporting it

The DST and Web teams discussed removing this feature from Vector 2022. Codex components are already intended to represent the latest in accessibility best practices. However, @Jdlrobson is going to look into how often the setting is actually used before we make a final decision.

We think it might be better served as a gadget rather than a feature baked into the skin.

We think it might be better served as a gadget rather than a feature baked into the skin.

Heavily disagree. Also looking at "how often it is used" makes little sense for an accessibility setting. We already know that people who have accessibility needs like these are a minority. Same way we know that only .1% of users delete articles. Doesn't make the feature useless.

@CCiufo-WMF usage as requested:

up_propertyup_valueuser_count
underline014210
underline1329742
underline-local-exception1566
underline-local-exception01730
underline-local-exception1247

We think it might be better served as a gadget rather than a feature baked into the skin.

Heavily disagree. Also looking at "how often it is used" makes little sense for an accessibility setting. We already know that people who have accessibility needs like these are a minority. Same way we know that only .1% of users delete articles. Doesn't make the feature useless.

I agree we are not optimizing for high usage with accessibility settings and we have not made any decisions here. I think it's worth pulling the numbers to prompt a discussion.

This task is also about the "never" option, which I don't understand how it would be an accessibility benefit. We could decide to remove that but keep the "Always" option.

@CCiufo-WMF usage as requested:

up_propertyup_valueuser_count
underline014210
underline1329742
underline-local-exception1566
underline-local-exception01730
underline-local-exception1247

@Jdlrobson can you help me understand this? is underline=0 the "never" setting and underline=1 the "always" setting? What are the local-exception properties and why does one of them have no value?

@CCiufo-WMF never=0 always=1. Note this data is just for English Wikipedia, the local exceptions indicate users have global preferences set where the value is different. e.g. underline-local-exception 0 means someone globally enabled "always" for all wikis except English which they set to "never".

Feel free to only focus on the first 2 rows - i think that gives you the data you need.

Okay thanks! We don't have an explicit framework for making decisions like this, but 329,742 seems plenty enough to at least keep the option to always underline. Could we pull the data across wikis, not just en wiki? I'd also be curious to segment by those with their skin preference set to Vector 2022, if that's possible.

Change #1057039 had a related patch set uploaded (by Jdlrobson; author: Jdlrobson):

[mediawiki/core@master] Use !important for underline preference

https://gerrit.wikimedia.org/r/1057039

if we want to keep the preference, I think it's relatively easy to support by strengthening the CSS selector to always apply. It probably should have been like that anyway.

The above patch does the following:

  • Limits the preference to article content links. Previously this applied to all links including menus (but in most cases wasn't working due to more specific-CSS selectors)
  • Changes the behaviour of "never" to never underline links to behave consistently with the description of the preference. Users that want underline on hover should use the default option.
  • Ensures that underline will always apply to all links in the content.

if we want to keep the preference, I think it's relatively easy to support by strengthening the CSS selector to always apply. It probably should have been like that anyway.

The above patch does the following:

  • Limits the preference to article content links. Previously this applied to all links including menus (but in most cases wasn't working due to more specific-CSS selectors)
  • Changes the behaviour of "never" to never underline links to behave consistently with the description of the preference. Users that want underline on hover should use the default option.
  • Ensures that underline will always apply to all links in the content.

@Pcoombe curious if this sounds right to you. You reported this issue as the Vector 2022 behavior being the anomaly, but I think what we're saying is that the Vector 2022 behavior is correct and should actually be backported to the other skins. So selecting the "Never" option will never result in the link being underlined, even on hover. If you wanted no underline only on hover, then that's just the "Skin or browser default" option.

I think the "Never" option dates from when some skins had links underlined by default: the long-since removed classic and the long-since deprecated Cologne Blue. So it made sense to have an option to override that.

I can't tell if the preference ever affected hover states, or was intended to. However I agree that making Never actually mean Never, including hover states, might make sense now.

What I don't think is wise is changing the preference to only apply to links in content. There are a lot of people with "Always" selected, and this would change their interface quite significantly: it currently affects the menus and tabs of Vector 2022 for example. And as TheDJ points out, forcing underlines can be useful for accessibility reasons

I think the "Never" option dates from when some skins had links underlined by default: the long-since removed classic and the long-since deprecated Cologne Blue. So it made sense to have an option to override that.

This is correct.

I can't tell if the preference ever affected hover states, or was intended to. However I agree that making Never actually mean Never, including hover states, might make sense now.

I'm also not sure, but at the same time I wouldn't be surprised if it did actually intend to show underline on hover. That would put it in line with the 'modern' skins. By that interpretation, the setting simply provides the default for the 'non-hover' states.

What I don't think is wise is changing the preference to only apply to links in content. There are a lot of people with "Always" selected, and this would change their interface quite significantly: it currently affects the menus and tabs of Vector 2022 for example. And as TheDJ points out, forcing underlines can be useful for accessibility reasons

I actually run with always myself on some wikis. I'm not sure why we would target it to content only ? It seems like an overall appearance setting to me and I would expect it to effect both skin and content I think.

Okay, so what if we did the following:

  1. Don't limit the preference to only article content, make it apply to the whole skin
  2. Make "Never" actually mean never, even on hover
  3. Keep the behavior of "Always" and "Default"

@Jdlrobson I'd be interested to see the data from T369499#9995140 without including users who have their skin set to Vector 2022. That segment would be the most affected, because if they are using a legacy skin and have their underline preference set to "Never", they will experience a different expected behavior. If there's a lot of them, maybe we migrate them to "Default" to preserve the current behavior? They probably don't realize that "Never" and "Default" are currently the same on legacy skins.

@CCiufo-WMF that sounds okay to me. In any case I think these changes are a low priority.

Moving to Following since this will not require a change in Codex.

Change #1054627 abandoned by Jdlrobson:

[mediawiki/skins/Vector@master] Drop support for underline links

https://gerrit.wikimedia.org/r/1054627

Jdlrobson added a subscriber: ovasileva.

@ovasileva I believe this is now on web team to prioritize and code review.

Change #1054626 abandoned by Jdlrobson:

[mediawiki/core@master] Preferences: Allow skins to opt out of certain preferences

Reason:

Not needed for now.

https://gerrit.wikimedia.org/r/1054626

Change #1057039 abandoned by Jdlrobson:

[mediawiki/core@master] Use !important for underline preference

Reason:

Not working on this right now, as it doesn't seem to be a priority.

https://gerrit.wikimedia.org/r/1057039

Jdlrobson lowered the priority of this task from Medium to Low.Oct 7 2024, 6:25 PM