Repository navigation
F 1579 assigment builder - #1617
Open
morozov-av wants to merge 8 commits into
Open
morozov-av wants to merge 8 commits into
morozov-av wants to merge 8 commits into
Conversation
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
Keyboard navigation, truncated-text disclosure, and existing insertion-test selectors have unresolved regressions.
6 open issues
Escape handler closes unrelated forms and dialogs · New Update E2E locators after changing form role to dialog · New Clipped reading titles and paths lack accessible disclosure · New Long descriptions become unreadable after removing title tooltip · New Clipped question names lack accessible full-name disclosure · New Exclude tabindex=-1 buttons from focus boundary handling · New
What changed in this PR
Improves accessibility across Runestone’s Assignment Builder and Grader, with keyboard navigation updates, clearer semantics, and blocking accessibility checks.
Changes:
- Improves focus handling, form labels, headings, table semantics, and contrast.
- Expands component coverage and makes axe WCAG A/AA violations fail tests.
- Adds CI backend setup and configurable development proxies.
Paths are relative to bases/rsptx/assignment_server_api/assignment_builder/, except the workflow.
| File | Description |
|---|---|
vite.config.ts |
Adds configurable backend proxies. |
src/utils/courseTimezone.ts |
Uses explicit US date formatting. |
src/utils/courseTimezone.spec.ts |
Checks AM/PM formatting. |
src/styles/tokens.css |
Reformats shared tokens. |
src/components/ui/TreeTable.tsx |
Adds checkbox labels. |
src/components/ui/TreeTable.spec.tsx |
Queries checkboxes by accessible name. |
src/components/ui/TabToolbar/TabToolbar.tsx |
Supports configurable heading levels. |
src/components/ui/TabToolbar/TabToolbar.module.css |
Improves count contrast. |
src/components/ui/FilterMultiSelect/FilterMultiSelect.tsx |
Uses native component labels. |
src/components/ui/EditableTable/EditableDataTable.tsx |
Adds labels and table captions. |
src/components/ui/DateTimePicker/DateTimePicker.tsx |
Adds calendar focus management. |
src/components/ui/DateTimePicker/DateTimePicker.spec.tsx |
Tests calendar focus transitions. |
src/components/ui/DateTimePicker/DateTimePicker.module.css |
Reformats calendar styles. |
src/components/ui/DataGrid.tsx |
Corrects filter-cell semantics. |
src/components/ui/DataGrid.spec.tsx |
Checks column-header semantics. |
src/components/shell/AppNavBar.tsx |
Removes redundant titles. |
src/components/shell/AppNavBar.spec.tsx |
Checks title removal. |
src/components/routes/Grader/state/graderSelectors.ts |
Uses higher-contrast status colors. |
src/components/routes/Grader/state/graderSelectors.spec.ts |
Updates color assertions. |
src/components/routes/Grader/pages/GraderQuestionsPage/spec/GraderQuestionsPage.test.tsx |
Checks selection-column naming. |
src/components/routes/Grader/pages/GraderQuestionsPage/GraderQuestionsPage.tsx |
Names selection column; removes titles. |
src/components/routes/Grader/pages/GraderAssignmentsPage/spec/GraderAssignmentsPage.test.tsx |
Tests labels and title removal. |
src/components/routes/Grader/pages/GraderAssignmentsPage/GraderAssignmentsPage.tsx |
Labels date filter; removes titles. |
src/components/routes/Grader/Grader.module.css |
Improves contrast and shortcut layout. |
src/components/routes/Grader/components/StudentMultiSelect.tsx |
Associates search with its label. |
src/components/routes/Grader/components/StudentListSidebar.module.css |
Improves metadata contrast. |
src/components/routes/Grader/components/ShortcutsHelpDialog.tsx |
Improves shortcut and dialog semantics. |
src/components/routes/Grader/components/ReleaseGradesControl.tsx |
Names dialog close buttons. |
src/components/routes/Grader/components/RegradeWizard.tsx |
Names dialog close button. |
src/components/routes/Grader/components/questionTypes/ShortAnswerView/ShortAnswerView.tsx |
Adjusts response heading level. |
src/components/routes/Grader/components/questionTypes/RunestonePreview/RunestonePreview.tsx |
Adjusts question heading level. |
src/components/routes/Grader/components/questionTypes/ParsonsAnswerView/ParsonsAnswerView.tsx |
Adjusts source heading level. |
src/components/routes/Grader/components/questionTypes/McqAnswerView/McqAnswerView.tsx |
Adjusts options heading level. |
src/components/routes/Grader/components/questionTypes/FitbAnswerView/FitbAnswerView.tsx |
Adjusts blanks heading level. |
src/components/routes/Grader/components/questionTypes/DefaultAnswerView/DefaultAnswerView.tsx |
Adjusts answer heading level. |
src/components/routes/Grader/components/questionTypes/AssociationAnswerView/AssociationAnswerView.tsx |
Adjusts association heading level. |
src/components/routes/Grader/components/questionTypes/AnswerRenderer/AnswerRenderer.tsx |
Adjusts interactive heading level. |
src/components/routes/Grader/components/questionTypes/ActiveCodeAnswerView/ActiveCodeAnswerView.tsx |
Adjusts source heading level. |
src/components/routes/Grader/components/MultiGradeDialog.tsx |
Labels controls and fixes textarea height. |
src/components/routes/Grader/components/GradePanel.tsx |
Revises labels and textarea sizing. |
src/components/routes/Grader/components/DeadlineExceptionDialog.tsx |
Labels dialog and accommodation scope. |
src/components/routes/AssignmentBuilder/components/wizard/AssignmentWizard.tsx |
Revises headings, labels, and textarea sizing. |
src/components/routes/AssignmentBuilder/components/wizard/AssignmentWizard.module.css |
Styles revised control labels. |
src/components/routes/AssignmentBuilder/components/reading/ReadingsToolbar.tsx |
Sets toolbar heading level. |
src/components/routes/AssignmentBuilder/components/reading/components/EditAllReadings/withEditAllReadings.tsx |
Improves helper-text contrast. |
src/components/routes/AssignmentBuilder/components/reading/AssignmentReadingsTable.tsx |
Removes chapter and section titles. |
src/components/routes/AssignmentBuilder/components/list/VisibilityStatusBadge.tsx |
Uses named tooltip buttons. |
src/components/routes/AssignmentBuilder/components/list/VisibilityStatusBadge.spec.tsx |
Tests tooltip-button accessibility. |
src/components/routes/AssignmentBuilder/components/list/VisibilityStatusBadge.module.css |
Styles tooltip buttons. |
src/components/routes/AssignmentBuilder/components/list/VisibilityDropdown.tsx |
Revises keyboard and calendar behavior. |
src/components/routes/AssignmentBuilder/components/list/VisibilityDropdown.spec.tsx |
Tests keyboard and portal interactions. |
src/components/routes/AssignmentBuilder/components/list/AssignmentList.tsx |
Improves selection and switch labels. |
src/components/routes/AssignmentBuilder/components/importAssignment/ImportPreviewPanel.tsx |
Names preview close button. |
src/components/routes/AssignmentBuilder/components/importAssignment/ImportAssignmentModal.tsx |
Improves labels and contrast. |
src/components/routes/AssignmentBuilder/components/importAssignment/ImportAssignmentModal.module.css |
Adds visually hidden header styling. |
src/components/routes/AssignmentBuilder/components/exercises/components/TipTap/Editor.tsx |
Adds configurable editor names. |
src/components/routes/AssignmentBuilder/components/exercises/components/TipTap/components/InsertFormPopover.tsx |
Adds dialog semantics and focus handling. |
src/components/routes/AssignmentBuilder/components/exercises/components/SearchExercises/SmartSearchExercises.tsx |
Improves search labels and contrast. |
src/components/routes/AssignmentBuilder/components/exercises/components/EditAllExercises/withEditAllExercises.tsx |
Improves helper-text contrast. |
src/components/routes/AssignmentBuilder/components/exercises/components/CreateExercise/shared/connections/ConnectTargetButton.spec.tsx |
Revises click-propagation test. |
src/components/routes/AssignmentBuilder/components/exercises/components/CreateExercise/shared/connections/ConnectionList.tsx |
Removes redundant row tab stops. |
src/components/routes/AssignmentBuilder/components/exercises/components/CreateExercise/shared/connections/ConnectionList.spec.tsx |
Updates list semantics test. |
src/components/routes/AssignmentBuilder/components/exercises/components/CreateExercise/shared/BaseExerciseSettingsContent.tsx |
Improves required-marker contrast. |
src/components/routes/AssignmentBuilder/components/exercises/components/CreateExercise/components/SelectQuestionExercise/components/ToggleOptionsSettings.module.css |
Reformats styles only. |
src/components/routes/AssignmentBuilder/components/exercises/components/CreateExercise/components/SelectQuestionExercise/components/QuestionListEditor.module.css |
Reformats styles only. |
src/components/routes/AssignmentBuilder/components/exercises/components/CreateExercise/components/PollExercise/ScaleSettings.tsx |
Associates scale input label. |
src/components/routes/AssignmentBuilder/components/exercises/components/CreateExercise/components/ParsonsExercise/ParsonsStyles.css |
Reformats styles only. |
src/components/routes/AssignmentBuilder/components/exercises/components/CreateExercise/components/ParsonsExercise/components/ParsonsExercise.module.css |
Reformats styles only. |
src/components/routes/AssignmentBuilder/components/exercises/components/CreateExercise/components/ParsonsExercise/components/BlockItem.tsx |
Associates labels and marks presentation wrappers. |
src/components/routes/AssignmentBuilder/components/exercises/components/CreateExercise/components/MultiChoiceExercise/MultiChoiceOptions.tsx |
Names option and feedback editors. |
src/components/routes/AssignmentBuilder/components/exercises/components/CreateExercise/components/MultiChoiceExercise/MultiChoiceExerciseSettings.tsx |
Improves description contrast. |
src/components/routes/AssignmentBuilder/components/exercises/components/CreateExercise/components/MultiChoiceExercise/components/MultiChoiceOptionsWrapper.module.css |
Reformats styles only. |
src/components/routes/AssignmentBuilder/components/exercises/components/CreateExercise/components/MatchingExercise/MatchingExercise.module.css |
Normalizes CSS quotes. |
src/components/routes/AssignmentBuilder/components/exercises/components/CreateExercise/components/MatchingExercise/components/SortableBlock.tsx |
Documents keyboard equivalent; suppresses lint warnings. |
src/components/routes/AssignmentBuilder/components/exercises/components/CreateExercise/components/ImportQuestionJsonModal.tsx |
Labels JSON input and close button. |
src/components/routes/AssignmentBuilder/components/exercises/components/CreateExercise/components/IframeExercise/components/IframeUrlInput.tsx |
Removes inappropriate preview label semantics. |
src/components/routes/AssignmentBuilder/components/exercises/components/CreateExercise/components/FillInTheBlankExercise/components/BlankManager.tsx |
Removes unassociated regex label. |
src/components/routes/AssignmentBuilder/components/exercises/components/CreateExercise/components/DragAndDropExercise/DragAndDropExercise.module.css |
Normalizes CSS quotes. |
src/components/routes/AssignmentBuilder/components/exercises/components/CreateExercise/components/DragAndDropExercise/components/SortableBlock.tsx |
Documents keyboard equivalent; suppresses lint warnings. |
src/components/routes/AssignmentBuilder/components/exercises/components/CreateExercise/components/ClickableAreaExercise/ClickableAreaEditor.module.css |
Reformats styles only. |
src/components/routes/AssignmentBuilder/components/exercises/AssignmentExercisesList/ExercisesToolbar.tsx |
Sets toolbar heading level. |
src/components/routes/AssignmentBuilder/components/exercises/AssignmentExercisesList/AssignmentExercisesTable.tsx |
Improves contrast and simplifies title value. |
src/components/routes/AssignmentBuilder/components/edit/VisibilityControl.tsx |
Adds hidden radio-group label. |
src/components/routes/AssignmentBuilder/components/edit/CourseTimezoneNotice.spec.tsx |
Checks AM/PM display. |
src/components/routes/AssignmentBuilder/components/edit/AssignmentEdit.tsx |
Revises headings, labels, and textarea sizing. |
src/components/routes/AssignmentBuilder/components/edit/AssignmentEdit.module.css |
Styles revised control labels. |
src/App.css |
Reformats root selectors. |
README.md |
Documents blocking accessibility scans. |
package.json |
Adds CI accessibility command. |
e2e/playwright.config.ts |
Configures CI server startup. |
e2e/global.setup.ts |
Sets CI login redirect. |
e2e/fixtures/scratch.ts |
Supplies CI course context. |
e2e/consolidation/a11y-scan.spec.ts |
Enforces axe checks and tags seeded tests. |
.eslintrc.cjs |
Registers accessibility plugin. |
.eslintrc.a11y.cjs |
Disables deprecated duplicate rule. |
.github/workflows/test-assignment-builder.yml |
Adds blocking accessibility job. |
Review effort: Balanced
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.

Additionally I manually reviewed affected Assignment Builder and Grader pages with WAVE