fix: add keyboard-equivalent treemap navigation - #196
Conversation
|
Warning Review limit reachedNext included review available in 6 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthrough
ChangesTreemap 접근성
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: 🟡 Moderate · up to The change adds a second keyboard-accessible list for entries that are already exposed elsewhere, which can create duplicate content and conflicting interaction paths for keyboard and assistive-technology users. Merge should wait until one canonical accessibility surface is retained. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 1 files. (1 skipped: 1 unsupported.) ✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
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.
Summary by CodeRabbit