Repository navigation
fix(ScrollableArea): touch screens keep the platform's scroll indicator - #8372
Conversation
The viewport's neutral scrollbar-color replaced iOS Safari's own scroll indicator with a faint bar: hard to see while scrolling, and visible in the gap a pull-to-refresh opens. Under a coarse primary pointer the viewport now leaves scrollbar-color at auto, so iOS draws its indicator only while scrolling, as UIScrollView does. Mouse and trackpad scrollbars keep the neutral thumb; the component record's FR3 says so.
…ollableArea The note also named Table, CodeBlock and BottomSheet's body as users of ScrollableArea; it now states only the component the change is in.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
AI review status for this pull request.
|
|
/approve-spec 6b4986a |
PR Analysis Report
|
There was a problem hiding this comment.
The touch-screen indicator change itself is ready: the coarse-pointer rule leaves mouse and trackpad rendering unchanged, and the FR3 update is owner-approved at this head. Two text changes are needed before merging:
- Retag
.changeset/scrollable-area-touch-indicator.mdas[feat]and add how to keep the old look (settingscrollbarColorthroughxstyle), becausespec:AST-017FR3 classifies a change that rewrites a component's visual contract as[feat]and asks its changeset to name that escape. - Add a
## Writing rubric resultssection to the description for theScrollableArea.spec.mdedit, asarchitecture:knowledge-contractsrequires; the six lines from #8319 still apply.
[Automated review]
| '@astryxdesign/core': patch | ||
| --- | ||
|
|
||
| [fix] On touch screens, `ScrollableArea` keeps the platform's own scroll indicator. Its neutral `scrollbar-color` replaced iOS Safari's indicator with a faint bar that was hard to see while scrolling and also showed in the gap a pull opens; iOS now draws its own indicator, only while scrolling. Mouse and trackpad scrollbars keep the neutral colour. |
There was a problem hiding this comment.
spec:AST-017 FR3 uses [fix] for an appearance change only when it restores current visual authority; this one rewrites ScrollableArea's FR3, so it is [feat]. FR3 also asks the changeset to say how to keep the old look when a supported escape exists, and one does (ScrollableArea AV1): for example, add "To keep the neutral thumb on touch screens, set scrollbarColor through xstyle."
…s how to keep the old look The change alters the default look on touch screens, so it is tagged [feat], and the note says how to keep the neutral colour (set scrollbarColor through xstyle), per spec:AST-017 FR3.
|
/approve-spec fdefd06 |
There was a problem hiding this comment.
This looks ready to merge once CI finishes: on touch screens ScrollableArea now leaves the scroll indicator to the platform, mouse and trackpad rendering is unchanged, and the FR3 update is owner-approved for this revision. The [feat] changeset with its xstyle escape and the writing-rubric results in the description cover what the earlier review asked for, so nothing more is needed from you.
[Automated review]
Supersedes #8319.
User impact
On touch screens, a person scrolling a
ScrollableAreasaw a faint neutral bar in place of the platform's own scroll indicator: hard to see while scrolling, and visible in the gap a pull-to-refresh opens. Under a coarse primary pointer the viewport now leavesscrollbar-coloratauto, so iOS draws its own indicator, only while scrolling. Mouse and trackpad scrollbars keep the neutral thumb.Change
ScrollableArea's viewport setsscrollbarColor: autounder@media (pointer: coarse); the component record's FR3 says so.[feat]patch changeset that says how to keep the neutral colour (scrollbarColorthroughxstyle).This carries only the ScrollableArea commit from #8319 (authored by @vjeux), on current
main, without the unrelated commits that branch was stacked on.Writing rubric results
R1 narration: FR3's new clause is present tense; none found.
R2 research: none in the record.
R3 evidence: no basis cell changed.
R4 rejected alternatives: none.
R5 change references: none.
R6 open questions: none.
Testing
Co-authored-by: Christopher Chedeau vjeuxx@gmail.com