Page MenuHomePhabricator

Table: Design verification fixes
Closed, ResolvedPublic12 Estimated Story Points

Assigned To
Authored By
Sarai-WMDE
May 10 2024, 4:15 PM
Referenced Files
F53601657: Screenshot 2024-05-17 at 15.45.21.png
May 17 2024, 1:51 PM
F53601540: Screenshot 2024-05-17 at 15.44.05.png
May 17 2024, 1:51 PM
F52986437: image.png
May 13 2024, 9:34 PM
F51879008: heading-rept-ch.mov
May 10 2024, 5:30 PM
F51876920: check-nav-ff.gif
May 10 2024, 5:30 PM
F51872153: sort-button-a11y.mov
May 10 2024, 5:30 PM
F51866163: Repeated caption.mov
May 10 2024, 5:30 PM
F51863568: bulk-select.gif
May 10 2024, 5:30 PM

Description

Background

This task's purpose is to collect all issues detected while performing design verification and manual testing on the work-in-progress version of the MVP Table component. The findings are not listed in any particular order. Their severity and priority is to be assessed by the DST before the release of the initial version of this component.

Tests were performed in the main branch's demo page, and findings related to open patches were verified in their respective Netlify builds (e.g. accessibility issues were checked on the 1026173 patch build).

All tests were performed using macOS Sonoma 14.3 on Chrome 124, Safari 17.3 and Firefox 125. Screen reader technology: VoiceOver.

Findings
Type of issueDescriptionIllustrationDone?Related task or patch
Visual๐Ÿ†• ๐Ÿ†• ๐Ÿ†• Sort buttons overflow due to labels not wrapping ๐Ÿ†• ๐Ÿ†• ๐Ÿ†•: Long sort button labels make the buttons overflow and cause the sort icon to be hidden. In <th>s with end alignment, the problem is more accentuated (see top screenshot) due to an unwanted white space being added to the end of the cell.
Screenshot 2024-05-17 at 15.44.05.png (668ร—2 px, 242 KB)
Screenshot 2024-05-17 at 15.45.21.png (1ร—2 px, 426 KB)
โœ…T365363
Visual[Known] Responsive limitations of header layout: The layout of the Table's header elements needs to be adjusted to flexibly handle cases where greater amounts of content exist within its slots (e.g., a combination of a long caption with a crowded header slot). Without wrapping and rearranging the elements, the caption text will to become harder to read
header.png (350ร—798 px, 33 KB)
โœ…Done as part of this task
VisualHeader slot changes flex direction under tablet breakpoint: In the โ€œTable with Selectionโ€ demo, the flex-direction of the elements included within the header slot unnecessarily changes to โ€œcolumnโ€ below the tablet breakpoint (640px). (There appears to be a media query applied to .cdx-docs-table-with-selection__header). The row direction of the header slot elements should be preserved across breakpoints.
Screenshot 2024-05-10 at 17.54.21.png (308ร—878 px, 24 KB)
โœ…Done as part of this task
VisualIncorrect focused style of sortable column headings: The focused state of the sorted columnโ€™s headings (See"With Sorting" instance) is inconsistent with the specifications. Nevertheless, the state is displayed correctly in the Table sandbox and other patches' builds. Instead of a bottom border, the heading should display a full 2px box-shadow inset.
Screenshot 2024-05-10 at 18.08.07.png (264ร—1 px, 29 KB)
โœ…T363613
VisualSorting icons display incorrect color: All sort icons (sort-vertical, up-triangle, down-triangle) should display a subtle color (@color-subtle) instead of base.
Screenshot 2024-05-10 at 18.25.41.png (774ร—956 px, 179 KB)
โœ…DONE (See patch)
InteractionBulk selection checkbox should display indeterminate state: As stated in the guidelines and specifications, the heading-level checkbox that allows selecting all table rows in bulk should display an indeterminate state also when individual table rows are selected.
bulk-select.gif (344ร—532 px, 41 KB)
โœ…T364927
AccessibilityCaption redundancy: Since the visible caption is included in a div outside the table itself, the captionโ€™s content is announced to screen reader users twice while they navigate through both elements. We could suggest table users (maybe in the Props table?) to apply aria-hidden="trueโ€ to .cdx-table__header__caption to avoid this redundancy. This attribute shouldnโ€™t be added by default because removing the caption could be disorienting in case other elements are present within the header (they would be announced before the table without context).โœ…See patch
AccessibilityDefault sorting is not announced: In tables with sorting, users of screen readers should receive a heads-up informing them that column headings that contain buttons are sortable. The WAI ARIA Sortable table example uses a span to globally announce that โ€œ, column headers with buttons are sortable.โ€ right after the tableโ€™s caption.โœ…See patch
AccessibilityFaulty checkbox cell navigation (specially) in Firefox: When using VoiceOver in Firefox, it takes several presses of the modifier keys + right arrow (5 in total in case of the heading checkbox) to move from cells with checkboxes to their adjacent cells. The issue can also be reproduced in Safari and Chrome, but there only up to 2 extra steps are needed.
check-nav-ff.gif (456ร—784 px, 67 KB)
โœ…T364929, T365756 (future work)
AccessibilityRedundant heading announcement in Chrome: When using VoiceOver in Chrome, all table headings (except for the one in the first column) are announced twice. This is also the case for row headings. The issue can be reproduced in all table demos (e.g., the sortable table too).โœ… (declined)T364930
VisualSort button padding issue: When a column name spans two lines, it disrupts the styles that aim to make "sort" buttons the full height of their th element.
image.png (396ร—1 px, 49 KB)
โœ… (declined)T364932
VisualSort button transitions: The sort button should have standard transition rules, similar to the CdxButton.n/aโœ…T364934
Other observations
  • Header slot spacing: In the specs, a space of 16px was defined between the header actions and any custom text. Since all elements are included in a single header slot, they all have a common 8px gap. I believe addressing this issue may not warrant the associated costs of implementation changes. I recommend prioritizing other aspects that offer greater value.
  • While testing, I applied a font-size of 0.875em to the demo in order to verify how the table would look in Vector. I found that the caption text didn't adjust to font-size changes made at body, main, or table level. Could this indicate that it won't be overridden by the skin?

Event Timeline

Change #1030612 had a related patch set uploaded (by VolkerE; author: VolkerE):

[design/codex@main] Table, styles: Use `color-subtle` for all sorting arrow icons

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

@Sarai-WMDE On โ€œsorting icons display incorrect colorโ€. Would it probably be useful to provide extra clearance for users, by emphasizing the sorted up and sorted down icons over the normal non-hierarchical ones?

Sarai-WMDE updated the task description. (Show Details)

@Sarai-WMDE On โ€œsorting icons display incorrect colorโ€. Would it probably be useful to provide extra clearance for users, by emphasizing the sorted up and sorted down icons over the normal non-hierarchical ones?

It's a nice suggestion, but I'm unsure that the contrast between both colors is enough to actually help support making that distinction ๐Ÿค” I'd say that the shape difference brings enough clarity already, so I would keep it simple.

Change #1030612 merged by jenkins-bot:

[design/codex@main] Table, styles: Use `color-subtle` for all sorting arrow icons

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

Change #1031065 had a related patch set uploaded (by Anne Tomasevich; author: Anne Tomasevich):

[design/codex@main] Table: Hide visible caption from assistive technology

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

lwatson changed the task status from Open to In Progress.May 14 2024, 3:18 PM
lwatson updated the task description. (Show Details)

Change #1031500 had a related patch set uploaded (by LWatson; author: LWatson):

[design/codex@main] Table: fix caption when column headers with buttons are sortable

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

Change #1031065 merged by jenkins-bot:

[design/codex@main] Table: Hide visible caption from assistive technology

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

Change #1031500 merged by jenkins-bot:

[design/codex@main] Table: fix caption when column headers with buttons are sortable

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

Change #1032095 had a related patch set uploaded (by VolkerE; author: VolkerE):

[mediawiki/core@master] Update Codex from 1.5.0 to 1.6.0

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

Change #1032095 merged by jenkins-bot:

[mediawiki/core@master] Update Codex from 1.5.0 to 1.6.0

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

Sarai-WMDE added subscribers: CCiufo-WMF, AnneT.

@lwatson, @AnneT, @CCiufo-WMF I added a new issue right at the top of the table, but it felt like cheating. Let me know if you think this should be documented as a bug report instead, please. Thank you!

@Sarai-WMDE thanks so much for compiling all of this! I've opened subtasks for most of the items.

Re: the second and third items in the table, IMO, there is nothing we can do to consistently ensure that content looks good at all breakpoints when there is header content and/or a long caption. I think we have to leave this up to users to make it look good, and make sure we're giving them good examples of how to handle this in the demos. For the third item in the table: for that demo, I changed the flex direction of the header content to column on tablet and below so that the text and buttons would fit in the viewport. I do think we should demonstrate to users how to handle such content - do you have another recommendation for how we can handle that particular demo's content on smaller screens?

Change #1035007 had a related patch set uploaded (by Anne Tomasevich; author: Anne Tomasevich):

[design/codex@main] Table: Improve wrapping behavior of Table header

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

โฌ† Anne beat me with that patch! But, this is what we agreed in our last catch up. In relation to the visual issues #2 and 3 included in this task's description table:

  1. We'll apply a default wrapping behavior to the table component's header ( See 035007). We'll use minimal styling to solve the current issues, but leave further customization and adjustments to future use cases in the hands of consumers.
  1. To support decision-making in those cases, we'll provide design recommendations in the Table component guidelines (most likely do an update of the "Content" section).

Change #1035007 merged by jenkins-bot:

[design/codex@main] Table: Improve wrapping behavior of Table header

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

Change #1037103 had a related patch set uploaded (by Anne Tomasevich; author: Anne Tomasevich):

[mediawiki/core@master] Update Codex from v1.6.0 to v1.6.1

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

Test wiki created on Patch demo by ATomasevich (WMF) using patch(es) linked to this task:
https://patchdemo.wmflabs.org/wikis/ce0a74a0e6/w

Change #1037103 merged by jenkins-bot:

[mediawiki/core@master] Update Codex from v1.6.0 to v1.6.1

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

Test wiki on Patch demo by ATomasevich (WMF) using patch(es) linked to this task was deleted:

https://patchdemo.wmflabs.org/wikis/ce0a74a0e6/w/