Skip to content

Scheduler - A11y - Add Home and End hotkeys, change scheduler's role, extend appointment's aria-describedby #32575

Merged
Tucchhaa merged 11 commits intoDevExpress:26_1from
Tucchhaa:implement_appt_hotkeys_26_1
Feb 17, 2026
Merged

Scheduler - A11y - Add Home and End hotkeys, change scheduler's role, extend appointment's aria-describedby #32575
Tucchhaa merged 11 commits intoDevExpress:26_1from
Tucchhaa:implement_appt_hotkeys_26_1

Conversation

@Tucchhaa
Copy link
Contributor

No description provided.

@Tucchhaa Tucchhaa self-assigned this Feb 16, 2026
@Tucchhaa Tucchhaa added the 26_1 label Feb 16, 2026
@Tucchhaa Tucchhaa marked this pull request as ready for review February 16, 2026 11:00
@Tucchhaa Tucchhaa requested review from a team as code owners February 16, 2026 11:00
Copilot AI review requested due to automatic review settings February 16, 2026 11:00
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Improves Scheduler accessibility by expanding keyboard navigation and enriching ARIA metadata so assistive technologies can better describe scheduler state and appointment interactions.

Changes:

  • Added Home/End keyboard handlers for faster appointment navigation in Scheduler appointment keyboard navigation.
  • Changed Scheduler root ARIA role from group to application.
  • Extended appointment aria-describedby content to include hotkey guidance, and adjusted unit/e2e tests accordingly.

Reviewed changes

Copilot reviewed 39 out of 39 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
packages/devextreme/js/localization/messages/ar.json Adds new scheduler appointment hotkeys message key/value.
packages/devextreme/js/localization/messages/bg.json Adds new scheduler appointment hotkeys message key/value.
packages/devextreme/js/localization/messages/ca.json Adds new scheduler appointment hotkeys message key/value.
packages/devextreme/js/localization/messages/cs.json Adds new scheduler appointment hotkeys message key/value.
packages/devextreme/js/localization/messages/da.json Adds new scheduler appointment hotkeys message key/value.
packages/devextreme/js/localization/messages/de.json Adds new scheduler appointment hotkeys message key/value.
packages/devextreme/js/localization/messages/el.json Adds new scheduler appointment hotkeys message key/value.
packages/devextreme/js/localization/messages/en.json Adds new scheduler appointment hotkeys message key/value.
packages/devextreme/js/localization/messages/es.json Adds new scheduler appointment hotkeys message key/value.
packages/devextreme/js/localization/messages/fa.json Adds new scheduler appointment hotkeys message key/value.
packages/devextreme/js/localization/messages/fi.json Adds new scheduler appointment hotkeys message key/value.
packages/devextreme/js/localization/messages/fr.json Adds new scheduler appointment hotkeys message key/value; minor whitespace cleanup.
packages/devextreme/js/localization/messages/hu.json Adds new scheduler appointment hotkeys message key/value.
packages/devextreme/js/localization/messages/it.json Adds new scheduler appointment hotkeys message key/value.
packages/devextreme/js/localization/messages/ja.json Adds new scheduler appointment hotkeys message key/value.
packages/devextreme/js/localization/messages/lt.json Adds new scheduler appointment hotkeys message key/value.
packages/devextreme/js/localization/messages/lv.json Adds new scheduler appointment hotkeys message key/value.
packages/devextreme/js/localization/messages/nb.json Adds new scheduler appointment hotkeys message key/value.
packages/devextreme/js/localization/messages/nl.json Adds new scheduler appointment hotkeys message key/value.
packages/devextreme/js/localization/messages/pl.json Adds new scheduler appointment hotkeys message key/value.
packages/devextreme/js/localization/messages/pt.json Adds new scheduler appointment hotkeys message key/value.
packages/devextreme/js/localization/messages/ro.json Adds new scheduler appointment hotkeys message key/value.
packages/devextreme/js/localization/messages/ru.json Adds new scheduler appointment hotkeys message key/value.
packages/devextreme/js/localization/messages/sl.json Adds new scheduler appointment hotkeys message key/value.
packages/devextreme/js/localization/messages/sv.json Adds new scheduler appointment hotkeys message key/value.
packages/devextreme/js/localization/messages/tr.json Adds new scheduler appointment hotkeys message key/value.
packages/devextreme/js/localization/messages/uk.json Adds new scheduler appointment hotkeys message key/value.
packages/devextreme/js/localization/messages/vi.json Adds new scheduler appointment hotkeys message key/value.
packages/devextreme/js/localization/messages/zh-tw.json Adds new scheduler appointment hotkeys message key/value.
packages/devextreme/js/localization/messages/zh.json Adds new scheduler appointment hotkeys message key/value.
packages/devextreme/js/__internal/scheduler/m_scheduler.ts Updates scheduler ARIA role to application.
packages/devextreme/js/__internal/scheduler/appointments/m_appointments_kbn.ts Adds Home/End keyboard navigation and refactors focus logic into a helper.
packages/devextreme/js/__internal/scheduler/appointments/appointment/text_utils.ts Appends hotkeys text into appointment ARIA description string.
packages/devextreme/js/__internal/scheduler/appointments/appointment/text_utils.test.ts Relaxes assertions to account for newly appended hotkeys description text.
packages/devextreme/js/__internal/scheduler/appointments/appointment/m_appointment.ts Refactors aria description assignment flow (early-return when empty).
packages/devextreme/js/__internal/scheduler/tests/appointments.test.ts Adds Jest coverage for aria-describedby presence and Home/End focusing behavior; improves cleanup.
packages/devextreme/js/__internal/scheduler/tests/mock/model/appointment.ts Extends appointment test model with isFocused() helper.
e2e/testcafe-devextreme/tests/accessibility/scheduler/scheduler.ts Updates expected scheduler role in accessibility e2e test.
e2e/testcafe-devextreme/tests/accessibility/scheduler/appointment.ts Updates appointment accessibility e2e assertions to expect aria-describedby and tolerate appended text.

Copilot AI review requested due to automatic review settings February 16, 2026 12:53
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 42 out of 42 changed files in this pull request and generated 4 comments.

Copilot AI review requested due to automatic review settings February 16, 2026 13:39
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 42 out of 42 changed files in this pull request and generated 1 comment.

@Tucchhaa Tucchhaa force-pushed the implement_appt_hotkeys_26_1 branch from f2d0e02 to 54409f5 Compare February 16, 2026 13:47
Copilot AI review requested due to automatic review settings February 17, 2026 04:13
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 42 out of 42 changed files in this pull request and generated no new comments.

@Tucchhaa Tucchhaa force-pushed the implement_appt_hotkeys_26_1 branch from 682436d to ab02675 Compare February 17, 2026 05:19
Copilot AI review requested due to automatic review settings February 17, 2026 05:19
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 42 out of 42 changed files in this pull request and generated no new comments.

@Tucchhaa Tucchhaa force-pushed the implement_appt_hotkeys_26_1 branch from ab02675 to 10a7d53 Compare February 17, 2026 05:41
Copilot AI review requested due to automatic review settings February 17, 2026 09:40
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 42 out of 42 changed files in this pull request and generated 2 comments.

Copy link
Contributor

@aleksei-semikozov aleksei-semikozov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I noticed that the workspace still has tabindex (it gets tabindex=0 from focusStateEnabled: true passed by the scheduler).
The issue mentions "Workspace shouldn't have tabindex" — are you planning to address this in this PR or will it be a separate one?

@Tucchhaa
Copy link
Contributor Author

Tucchhaa commented Feb 17, 2026

I noticed that the workspace still has tabindex (it gets tabindex=0 from focusStateEnabled: true passed by the scheduler). The issue mentions "Workspace shouldn't have tabindex" — are you planning to address this in this PR or will it be a separate one?

Thank you for noticing it, there will be another PR to fix tabindex. I will update description of the issue of this PR

@Tucchhaa Tucchhaa merged commit 67ccf27 into DevExpress:26_1 Feb 17, 2026
120 of 121 checks passed
@Tucchhaa Tucchhaa deleted the implement_appt_hotkeys_26_1 branch February 17, 2026 12:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants