Repository navigation
Conversation
|
📚 Branch Preview Links🔍 Gen1 Visual Regression Test ResultsWhen a visual regression test fails (or has previously failed while working on this branch), its results can be found in the following URLs:
Deployed to Azure Blob Storage: If the changes are expected, update the |
c3ac140 to
c5b5562
Compare
c5b5562 to
424b1ce
Compare
424b1ce to
809afe1
Compare
91619e0 to
f30fb2b
Compare
f30fb2b to
ffeedea
Compare
b12c4c1 to
260e3cf
Compare
There was a problem hiding this comment.
The API updates and migration direction look sensible. My recommendation is to clarify the non-drag pointer alternative, named-slot contract, and listener lifecycle before treating the plan as implementation-ready. I've left a few focused suggestions inline.
485a0df to
91b8b6b
Compare
8686d3f to
ea3c69b
Compare
ea3c69b to
6e469ef
Compare
- rename label to accessible-label and vertical to orientation to match existing gen2 apis - move panes to named primary and secondary slots so assignment is explicit and render can template each pane - resolve aria-orientation as line orientation per aria separator role and apg window splitter pattern - add shift plus arrow double-step resize, shipping with the migration - unlink jira references and fix broken in-page anchors
6e469ef to
3cee818
Compare
|
|
||
| | Event | Detail | Fires when | | ||
| | ----- | ------ | ----------- | | ||
| | `change` | none (plain, bubbling, composed `Event`) | The splitter position changes via pointer drag or keyboard, including collapse to an extreme. | |
There was a problem hiding this comment.
i didnt see an area below to capture this but want to make sure we are prepending swc- to all events we send
| | **B5** | Add `aria-valuemin="0"` / `aria-valuemax="100"` alongside the existing `aria-valuenow` whenever `resizable`. | `aria-valuenow` only. | `aria-valuemin`/`aria-valuemax` always paired with `aria-valuenow`. | None; additive attribute, not observable as an API change. | | ||
| | **B6** | Keep the 1st-gen `aria-orientation` mapping: it describes the divider **line's** orientation, not the axis of motion, per the [ARIA separator role](https://www.w3.org/TR/wai-aria-1.2/#separator) and the [APG window splitter pattern](https://www.w3.org/WAI/ARIA/apg/patterns/windowsplitter/). Verify in the screen reader pass. | Sets `aria-orientation` to describe the divider **line's** visual orientation. | Same. | None. | | ||
| | **B7** | Move `aria-controls` off a plain ID string crossing the shadow boundary onto the project's element-reference IDL pattern (`ariaControlsElements`), per the accessibility migration analysis, reusing the shape from `Popover.base.ts`. Scope (primary pane only vs. both) remains open, see `Q4`. | `aria-controls="<id>"` referencing a light-DOM child's `id`, assigned by the component itself. | Element-reference IDL property in addition to (or instead of) the ID string. | None for consumers using the public attribute/property surface; internal wiring change only. | | ||
| | **B8** | Preserve the SWC-276 fix: default `aria-label` ("Resize the panels") whenever `resizable` and no `accessible-label` is set. Never ship a focusable, unnamed divider. | Fixed in 1st-gen. | Same behavior, unit-tested as a regression guard. | None. | |
There was a problem hiding this comment.
I think we should also include a warning if an accessible label is expected when a resizable is present. This will be needed for the internationalization by consumers.
There was a problem hiding this comment.
rule of thumb for any default string we provide should have a warning communicating how to properly set it
| | `orientation` | `'horizontal' \| 'vertical'` | `'horizontal'` | `orientation`, reflected | **Confirmed.** Replaces 1st-gen `vertical`, see `B10`. `vertical` stacks panes top/bottom. | | ||
| | `resizable` | `boolean` | `false` | `resizable`, reflected | **Confirmed.** Unchanged from 1st-gen. | | ||
| | `collapsible` | `boolean` | `false` | `collapsible`, reflected | **Confirmed.** Unchanged from 1st-gen; still requires `resizable`. | | ||
| | `primaryMin` / `primaryMax` | `number` | `0` / `3840` | `primary-min` / `primary-max` | **Confirmed.** Unchanged from 1st-gen. | |
There was a problem hiding this comment.
should these also allow percentages if primarySize allows it? also where is the 3840 coming from?
|
Closing for now! We'll pick this back up down the road. |
|
ok so I want to request an API change to this. I believe by default that Effectively we should remove |
Description
Adds the Phase 1 migration-prep plan for
split-view: 1st-gen API surface, dependencies, breaking-change/additive classification, gen2 API decisions, core/SWC architecture split, migration checklist, and open questions. Resolves several architecture and naming questions using precedent fromcolor-handleandprogress-circle, and folds settled decisions into a decision log.Motivation and context
Phase 1 of the 1st-gen → gen2 migration for split-view (SWC-2265, epic SWC-2263). This plan must be reviewed before any implementation work begins.
Related issue(s)
Screenshots (if appropriate)
N/A — planning document, no visual/code changes.
Author's checklist
Reviewer's checklist
patch,minor, ormajorfeaturesManual review test cases
CONTRIBUTOR-DOCS/03_project-planning/03_components/split-view/migration-plan.md1st-gen/packages/split-view/src/SplitView.tsDevice review
N/A — planning document, no rendered UI.
Accessibility testing checklist
N/A — this PR adds a planning document only; it does not change any component code or markup. Accessibility recommendations from the existing
accessibility-migration-analysis.mdare referenced and folded into this plan's must-ship items (B5–B9) for the implementation phase, where keyboard and screen reader testing will apply.