fix: follow date focus moved by assistive technology - #12722
Closed
web-padawan wants to merge 1 commit into
Closed
web-padawan wants to merge 1 commit into
web-padawan wants to merge 1 commit into
Conversation
web-padawan
force-pushed
the
refactor/month-calendar-cell-button
branch
from
September 10, 2026 13:37
5a5628e to
84dba9a
Compare
web-padawan
force-pushed
the
fix/date-picker-focused-date-sync
branch
from
September 10, 2026 13:37
bf100c6 to
b9812b9
Compare
web-padawan
force-pushed
the
refactor/month-calendar-cell-button
branch
2 times, most recently
from
September 11, 2026 06:37
418c26e to
55dbf8b
Compare
web-padawan
force-pushed
the
fix/date-picker-focused-date-sync
branch
from
September 11, 2026 06:37
b9812b9 to
025f129
Compare
web-padawan
force-pushed
the
refactor/month-calendar-cell-button
branch
from
September 11, 2026 08:44
55dbf8b to
ac1f6d4
Compare
web-padawan
force-pushed
the
fix/date-picker-focused-date-sync
branch
from
September 11, 2026 08:44
025f129 to
bc3f46d
Compare
Nothing synced focusedDate from DOM focus. When a screen reader moved focus to another date, the arrow keys continued from the stale date, the focused part stayed on the wrong cell, and PageUp / PageDown kept the stale day of month. The calendar now reports the focused date with a date-focus event, and the overlay follows it under the same rule as the arrow keys: a disabled date may take focus, a date outside min / max may not. Focus set by the overlay itself is a no-op, since the date already matches. Part of #12398 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
web-padawan
force-pushed
the
refactor/month-calendar-cell-button
branch
from
September 11, 2026 13:33
ac1f6d4 to
a7eec4e
Compare
web-padawan
force-pushed
the
fix/date-picker-focused-date-sync
branch
from
September 11, 2026 13:33
bc3f46d to
fe50d60
Compare
|
Member
Author
This sounds like more like an edge / artificial case (e.g. an iOS device with an external keyboard). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Description
Part of #12398
Depends on #12596
Nothing synced
focusedDatefrom DOM focus. The overlay only changes it from its own keyboardhandling and from
focusDate(). When a screen reader moves focus to another date, for exampleVoiceOver swiping on iOS, the arrow keys continue from the stale date, the
focusedpart stays onthe wrong cell, and PageUp / PageDown keep the stale day of month. This is a
prerequisite for letting VoiceOver reach other months, which is not part of this PR.
date-focusevent tovaadin-month-calendar, fired from afocusinlistener on the gridwith the
dateof the focused celldate-focusby settingfocusedDateand_focusedMonthDatefocusedDate, so focus set byfocusDate()is a no-opminandmax, the same rule the arrow keys use, while disableddates inside the range are followed
month kept for PageDown, and the input showing the focused date
Type of change
How to test
dev/date-picker.htmland click the field to open the calendar.dp.maxto a date before the one you focused, repeat step 2 with a date pastmax. Nothingchanges.
Note
On desktop the input already follows the focused date after arrow keys, and closing the overlay
commits the input. Focus moved by assistive technology now takes the same path. On iOS the input
is read only while the overlay is open, so a swipe never changes the committed value.
🤖 Generated with Claude Code