Skip to content

fix: [OCISDEV-115] address post-merge review on coloured tags - #12923

Merged
gauravsoni119 merged 1 commit into
masterfrom
fix/ocisdev-115-coloured-tags-review
Sep 10, 2026
Merged

fix: [OCISDEV-115] address post-merge review on coloured tags#12923
gauravsoni119 merged 1 commit into
masterfrom
fix/ocisdev-115-coloured-tags-review

Conversation

@gauravsoni119

Copy link
Copy Markdown
Contributor

Address post-merge review feedback on the coloured tags feature.

@gauravsoni119
gauravsoni119 requested a review from a team as a code owner September 10, 2026 09:49
@kw-security

kw-security commented Sep 10, 2026

Copy link
Copy Markdown

Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues
Licenses 0 0 0 0 0 issues
Code Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@gauravsoni119
gauravsoni119 force-pushed the fix/ocisdev-115-coloured-tags-review branch from ca4e3f4 to 588af91 Compare September 10, 2026 09:55
@gauravsoni119 gauravsoni119 self-assigned this Sep 10, 2026
@gauravsoni119
gauravsoni119 requested a review from mzner September 10, 2026 09:56
mzner
mzner previously approved these changes Sep 10, 2026
@gauravsoni119
gauravsoni119 force-pushed the fix/ocisdev-115-coloured-tags-review branch from 588af91 to 07e1e2d Compare September 10, 2026 11:18
Comment thread services/web/assets/themes/owncloud/theme.json Outdated
Five review comments landed on #12892 after it merged.

**The tag overflow popover dismissed itself on click.** `mode="hover"` maps to
tippy's `mouseenter focus` trigger, and `hideOnClick` is hardcoded true in
`OcDrop`. tippy only skips its document-press hide when the trigger contains
`click`, so a click on the button fell through to `hide()` and set
`didHideDueToDocumentMouseDown`, which then blocked the focus trigger from
reopening it — the pointer had to leave and come back.

`mode="click"` fixes it without touching the design system: tippy toggles a
click-triggered instance, so the button opens and closes it, Enter/Space work
because a native button activation dispatches a click, and Escape still closes
via the `hideOnEsc` plugin with a click able to reopen it. Under `hover` that
last one was a dead end — Escape hid the popover and no new focus event could
follow. The trade is that hovering no longer reveals the tags; a disclosure
that answers to the keyboard is worth more than a hover shortcut.

That click also had to stop propagating: the button sits inside the `<tr>` that
`OcTable` highlights on click, so opening the popover selected the file as
well. tippy's listener is on the same element, so stopping propagation still
toggles the popover.

`is-nested` goes with it. It was set purely to suppress the `hideAll` that ran
when a pointer crossed the button, and pointer movement no longer opens
anything. Dropping it also un-silences `showDrop`/`hideDrop`, which `OcDrop`
only emits for drops that are not nested.

**The button claimed to be a popover trigger without saying so.** It now
carries `aria-haspopup` and an `aria-expanded` driven by those two events.
tippy manages `aria-expanded` itself only when the reference does not already
have one (`hasAriaExpanded` is read once at create time), and Vue renders the
attribute before `OcDrop` mounts, so there is one owner, not two.

**The accessible name dropped the visible text.** WCAG 2.5.3 Label in Name
wants the visible `+ 3` inside the name; `Show 3 more tags` left speech input
with nothing to match. The count now leads the string.

**The read-only tag lock was invisible to screen readers.** No
`accessible-label` means `OcIcon` renders it `aria-hidden`, so the only signal
that a tag cannot be removed was the absent deselect button.

**Themes inherited no tag palette.** `tagColorsList` was missing from
`defaults.designTokens`, so a deployment serving its own theme.json gets grey
chips. Seeding the defaults with the light palette turned out to be the wrong
place for it: every other value in that block is an empty-string placeholder,
because supplying colours is a theme's responsibility. The defaults stay
colourless. `useTagColor` already returns -1 without a list and `OcTag` then
renders the plain chip, which is what tags looked like before this feature.
@gauravsoni119
gauravsoni119 merged commit 29392ce into master Sep 10, 2026
205 of 209 checks passed
@gauravsoni119
gauravsoni119 deleted the fix/ocisdev-115-coloured-tags-review branch September 10, 2026 13:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants