Page MenuHomePhabricator

VE noscript fallback link on action=edit is inaccessible
Open, Needs TriagePublic

Description

At the moment, VisualEditor gets stuck when trying to load on certian pages (ref T326169). In these cirumstances, as well as other cirumstances such as when the browser is too old/incompatible, or if certain extensions are unintentionally causing VE's javascript to break or otherwise be blocked or not work correctly, or if the editor's Internet connection is sufficiently slow that the JavaScript doesn't finish loading in a reasonable amount of time, etc. In any of those cases, they will see a link to "try again" which should reload the page with the wikitext editor shown and VE not engaged.

This is what that link looks like today, e.g. when navigating to https://www.mediawiki.org/wiki/Wikimedia_Performance_Team/Multi-DC_MediaWiki?action=edit when logged-out or on an account with VE enabled.

export.jpg (2,524×528 px, 130 KB)

However, this link is inacessible because it is part of the body element that VE's init phase "mutes" with reduced opacity and pointer-events: none; rules set. This means any attempt to click them is ignored. The link is not followed by the browser.

When debugging this, I find the link is meant to point to https://www.mediawiki.org/w/index.php?action=edit&title=Wikimedia_Performance_Team%2FMulti-DC_MediaWiki&venoscript=1. Note the venoscript=1 parameter. When going there directly, to see if there are additional bugs perhaps, I find that doesn't work either. It renders as follows:

Screenshot 2023-01-03 at 19.58.25.png (2,534×698 px, 116 KB)

This advertised link correctly replaces the fallback message with the wikitext editor. However, VE still attempts to initiate itself, and still does to by muting the page, and thus making the wikitext editor unclickable. I'm tentatively tagging this as a Regression, but it is possible that I misremember how this worked in 2015.

Event Timeline

It would work correctly in a real no-script situation, where the loading bar wouldn't even appear, but it indeed fails when the loading starts but something goes wrong with it. I don't think it's a regression.

You can actually get out of this screen by pressing Escape on your keyboard, but this isn't discoverable.