Page MenuHomePhabricator

ULS language list should use `column-width` CSS property instead of splitting the lists
Open, Needs TriagePublic

Description

Current ULS language list window has the following HTML:

<div class="row uls-language-block">
  <ul class="three columns">
    …
  </ul>
  <ul class="three columns">
    …
  </ul>
</div>

This HTML exists for appearance, to split the list into multiple columns. This is bad from accessibility standpoint and just unnecessary. Although that was an acceptable solution some time ago when ULS was developed, in 2021 there are more efficient and accessible ways of achieving that. I propose moving to column-width property for this (Caniuse query for it, supports IE11). If necessary (although I don’t see why the first list is split into two columns instead of 4), a column-count and width declarations can be added.

Example of ULS language list in new Vector (Firefox 88, Windows) with column-width: 12em applied (and HTML structure amended):

image.png (361×847 px, 10 KB)

Event Timeline

(There's a LESS mixin for column-width.)

Some things to consider, which may require design changes:

  • Languages are grouped by script
  • Long lists are split into groups that fit the screen at once

Something like Europe section on a page like London would be more representative example.

Languages are grouped by script

This part can probably be left as is if it is an important distinction.

Long lists are split into groups that fit the screen at once

Although I am not sure if this is a good idea (since this order must be confusing at least for some readers), this can also be left as is if needed. The lists generated by CSS properties will take the same space, they just won’t be split into four separate lists.

RAN1 changed the task status from Open to Stalled.Nov 18 2022, 4:26 AM

Multi-column break properties aren't currently supported on Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=1675322

Multi-column break properties aren't currently supported on Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=1675322

Hmm? Shouldn't be relevant here.

Languages grouped by region are also grouped by script if it's not a one-line column.

stjn changed the task status from Stalled to Open.EditedNov 18 2022, 7:29 PM

I don't think my task is asking to unite all the different script lists into one. It's asking to stop breaking lists into columns with HTML. I would appreciate it if you didn't mark tasks as stalled without asking first what the scope of the task is. Thanks.

I opened T323315 in error. I marked this stalled because I noticed CSS column breaks don't register on Firefox.

Also an accessibility violation, I now realise. Well, here’s to another two years without fixing.