fix: add keyboard-equivalent treemap navigation - #196
Conversation
|
Warning Review limit reached
Next review available in: 47 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Closing this line as stale/duplicative against the current product composition rather than merging a second navigation authority. On live The remaining narrow concern—keyboard scrolling when the canonical list contains only non-focusable file rows—belongs with the existing |
Purpose
Make the disk treemap operable and understandable without a pointing device while preserving the existing pointer visualization and navigation authority. The native equivalent now remains keyboard-scrollable even when a folder contains only files and tells the customer what to do when no entries are available.
Exact current state
d2bf5e5d2344bb33327491c16862031c4a7daa20.main:be418bac9bfbdc8aa41b1a698713833e3dbccfdc.src/lib/Treemap.svelteplussrc/lib/treemapAccessibilityContract.test.ts.Test-first accessibility repair
0ac1b50d4634c18e5d9de55d0d10c4fceed09ab4required a native keyboard-equivalent surface while protected main exposed navigation only through the pointer canvas.3fde380f7b7df0f68b8e049a32563c6fd03822d4kept treemap drawing/click geometry unchanged, marked the pointer canvas assistive-technology-hidden, and added a native<details>/list alternative over the samenode.entrieswith normal directory buttons invoking onlyonOpen(entry.path).14removerflow boundary but no sequential focus target when a folder contained files only, and an empty node rendered a blank list without a next action.72c262a53b2aa3156d19a4bad3c3f085b723fccerequires a named focusable overflow region, visible keyboard focus, action-oriented directory labels, an entry count, and an empty-state recovery instruction.d2bf5e5d2344bb33327491c16862031c4a7daa20moves overflow to arole="region",tabindex="0"wrapper, adds a focus-visible outline, labels directory rows as폴더 열기, reports the entry count in the native summary, and tells the customer to move to the parent folder or scan another folder when no entries exist.Scan data, path authority, filesystem mutation, treemap geometry, pointer navigation, and directory-open authority remain unchanged. File entries remain descriptive rather than becoming mutation controls.
Standards boundary
This is a narrow WCAG 2.2 non-text-content and keyboard-operability repair using native HTML controls and a named scroll region rather than synthetic canvas keyboard behavior.
Exact-head validation
For exact head
d2bf5e5d2344bb33327491c16862031c4a7daa20:31885078411— queued;31885078364— pending;31885078282— queued;31885078288— queued.Queued or pending evidence is not passing, and predecessor-head success does not transfer. Conditional PR-inapplicable publication or attestation helpers are not represented as passing release or provenance evidence.
Scope / non-duplication
This line owns only
src/lib/Treemap.svelteand its focused accessibility contract. It does not modifysrc/routes/+page.svelteowned by #202, TopFiles #203, repository-wide exact coverage #156, canonical documentation #149, or any cleanup/cloud/provider authority line.Remaining integration blockers
Required before merge
Do not merge unless the unchanged exact head satisfies every applicable live required workflow and current finding, every review thread is resolved, a qualifying independent approval covers the last push/current head, fresh protected-main ancestry remains current, the live review ruleset is satisfied, and repository-wide exact coverage is satisfied without exclusions or threshold weakening. Pending, queued, skipped-required, neutral-required, failed, stale, predecessor, synthetic, diagnostic-only, status-only, model-only, rate-limited, no-source scanner, or infrastructure-only evidence is not passing.