Page MenuHomePhabricator

Special:Version table using serveral skins overflows the main content container
Open, Needs TriagePublic

Description

(Using the latest version of Chrome, v53.0.2785.116 on Windows 10) Visiting the Special:Version page on a wiki using the Bouquet will result in an overflow:

(check http://social-tools.wmflabs.org/wiki/Special:Version?useskin=bouquet )

pasted_file (738×1 px, 146 KB)

Event Timeline

Apparently core's /resources/src/mediawiki.special/mediawiki.special.version.css (as of MW 1.27, which is what the test wiki in question is using) intentionally sets this:

.mw-version-ext-vcs-timestamp {
	white-space: nowrap;
}

Which in my book falls under "mindbogglingly stupid". Disabling that rule makes the table look much better and it then overflows only by a few pixels. I'm not sure if there's any decent solution for that, but I'll offer my favorite one: hide the "License" column. That whole column falls into the same category as the aforementioned CSS rule because most extensions are under GPLv2 or v3 or some other FOSS license (MIT, PD/CC0, etc.) and those who really care can click on the link to go to the extension's info page on MW.org to find out the specifics. Proprietary extensions/skins aren't probably gonna register any kind of a license so...yeah, that column shouldn't be there in the first place because it adds no value to the page.

What are the chances that an extension's documentation for the license is up to date with the actual license defined in skin.json, extension.php, and/or LICENSE file? "Up-to-date" documentation is pretty hard to come by.

So the bug is also apparent on DuskMessMirrored, Dusk, DuskToDawn, and Gamepress (not Truglass though). Should we rename this task and make it a tracking task, and then make each task for each of the other skins a subtask of this one?

"Up-to-date" documentation is pretty hard to come by.

This is true, but...

What are the chances that an extension's documentation for the license is up to date with the actual license defined in skin.json, extension.php, and/or LICENSE file?

I'd say the answer is "pretty high", actually. Certain things are more static than others. Authors can change (new authors can be added), version number can be incremented, configuration variables can be added and so on, but the extension's name (and consequently MW.org info page URL) is likely to be static, as is the license, because changing a license generally speaking is pretty hard, especially if and when an extension (/a skin/whatever) has multiple contributors, as you need approval from all of them to change the license.

The "License" column in Special:Version exists to link to the extension's own COPYING file. This is silly. If I need to read the precise text of GPLv2, search engines exist (or I can just directly browse to gnu.org and figure out where the license text can be viewed). Ditto for any other license, really.

So the bug is also apparent on DuskMessMirrored, Dusk, DuskToDawn, and Gamepress (not Truglass though).

Not surprising, since these skins are ported from WordPress. I guess wide tables aren't much of a thing in the WordPress world. Truglass on the other hand was written for MediaWiki from day one and has nothing to do with WordPress.

Should we rename this task and make it a tracking task, and then make each task for each of the other skins a subtask of this one?

Sure.

Are you planning on hiding it via CSS? You could do this by getting the 3rd child (:nth-child(3)) but it'll still be loaded into the HTML which is just unnecessary (and it'll still be visible to people using screen-readers which also makes it an accessibility issue). That requires adding aria-hidden="true" to every single 3rd <td> via JavaScript, and at that point you should probably just actually removing it with JS rather than hide it (but then, no-JS users will still see it? From what I know, both of us are planning to support no-JS users on the extensions and skins we collaborate on, see T134851 for example. Do screen-readers even load JS? I'm not sure!)

Shouldn't we create a task to consider having the License section removed from the actual Special:Version in the MediaWiki core?

SamanthaNguyen renamed this task from Special:Version table using the Bouquet skin overflows the main content container to Special:Version table using serveral skins overflows the main content container.Sep 25 2016, 9:44 PM
SamanthaNguyen moved this task from Backlog to Bugs on the DeskMessMirrored board.
SamanthaNguyen moved this task from Backlog to Bugs on the Dusk board.
SamanthaNguyen moved this task from Backlog to Bugs on the DuskToDawn board.