Repository navigation
Recurring review comments: 3 proposed changes #6319
Description
❌ This issue is not open for contribution. Visit Contributing guidelines to learn about the contributing process and how to find suitable issues.
Reviewers keep making these points on PRs to this repo, each on 3+ PRs by 2+ authors in the last 90 days. Each proposes an AGENTS.md line or a lint rule that would have prevented them.
Acceptance criteria
Each change is made, or declined in a comment here.
- Tests assert outcomes through translator references and roles, not literals, internals or presence
- Prefer lodash and existing utilities over hand-rolled helpers
- Accessible names, live regions and focus follow ARIA/WCAG patterns
Proposed changes
Tests assert outcomes through translator references and roles, not literals, internals or presence (5 PRs, 3 authors)
AGENTS.md Testing: "Assert the resulting state, such as document HTML, the role-scoped text (getByRole('status')), or saved DB rows equal to the input, not call chains, fetch strategy or toBeInTheDocument() presence. Reference strings through their translator (tr.$tr(...)/str$()), never literals. Never query KDS/keen-ui internal classes; use within(getByTestId(...))."
- Added features from issue: 6042 #6132 (comment) (Added features from issue: 6042 #6132,
contentcuration/contentcuration/frontend/channelList/views/Channel/StudioMyChannels/__tests__/StudioMyChannels.spec.js) - Add the QTI associate interaction plugin #6113 (comment) (Add the QTI associate interaction plugin #6113,
contentcuration/contentcuration/frontend/shared/views/QTIEditor/interactions/associate/__tests__/Editor.spec.js) - Warn when a choice question has only one option #6310 (comment) (Warn when a choice question has only one option #6310,
contentcuration/contentcuration/frontend/shared/views/QTIEditor/interactions/choice/__tests__/Editor.spec.js) - Added features from issue: 6042 #6132 (comment) (Added features from issue: 6042 #6132,
contentcuration/contentcuration/frontend/channelList/views/Channel/StudioMyChannels/__tests__/StudioMyChannels.spec.js) - Keep RTE toolbar dropdowns from being clipped #6280 (comment) (Keep RTE toolbar dropdowns from being clipped #6280,
contentcuration/contentcuration/frontend/shared/views/TipTapEditor/__tests__/EditorToolbar.spec.js) - Added features from issue: 6042 #6132 (comment) (Added features from issue: 6042 #6132,
contentcuration/contentcuration/frontend/channelList/views/Organization/__tests__/OrganizationPages.spec.js) - Restore QTI exercises when restoring a channel #6243 (comment) (Restore QTI exercises when restoring a channel #6243,
contentcuration/contentcuration/tests/test_restore_channel.py) - Restore QTI exercises when restoring a channel #6243 (comment) (Restore QTI exercises when restoring a channel #6243,
contentcuration/contentcuration/tests/test_restore_channel.py)
Prefer lodash and existing utilities over hand-rolled helpers (3 PRs, 2 authors)
AGENTS.md Code: "Before writing a helper, use lodash (lodash/shuffle, lodash/flatMap), existing composables (shared/composables/useFetch), or a maintained library (@internationalized/number for locale numbers)."
- Add the QTI associate interaction plugin #6113 (comment) (Add the QTI associate interaction plugin #6113,
contentcuration/contentcuration/frontend/shared/views/QTIEditor/interactions/associate/AssociateInteractionEditor.vue) - Add the QTI associate interaction plugin #6113 (comment) (Add the QTI associate interaction plugin #6113,
contentcuration/contentcuration/frontend/shared/views/QTIEditor/interactions/associate/parse.js) - Added features from issue: 6042 #6132 (comment) (Added features from issue: 6042 #6132,
contentcuration/contentcuration/frontend/channelList/composables/useOrganizations.js) - Read and show Numeric answers in the exercise language #6282 (comment) (Read and show Numeric answers in the exercise language #6282,
contentcuration/contentcuration/frontend/shared/views/QTIEditor/utils/localeNumbers.js)
Accessible names, live regions and focus follow ARIA/WCAG patterns (6 PRs, 3 authors)
AGENTS.md a11y: "Live regions (role="status"/aria-live) stay mounted empty and only their text changes, with one writer per region. Key sibling v-ifs. Never unmount the focused control. Use KDS widgets (KDropdownMenu, KTabsPanel, KCard :to) for their ARIA wiring. Accessible names start with the visible text. Focus stays visible on every state." Lint: vuejs-accessibility plugin.
- Warn when a choice question has only one option #6310 (comment) (Warn when a choice question has only one option #6310,
contentcuration/contentcuration/frontend/shared/views/QTIEditor/components/ValidationMessage/index.vue) - Warn when a choice question has only one option #6310 (comment) (Warn when a choice question has only one option #6310,
contentcuration/contentcuration/frontend/shared/views/QTIEditor/components/ValidationMessage/index.vue) - Warn when a choice question has only one option #6310 (comment) (Warn when a choice question has only one option #6310,
contentcuration/contentcuration/frontend/shared/views/QTIEditor/components/ValidationMessage/index.vue) - Warn when a choice question has only one option #6310 (comment) (Warn when a choice question has only one option #6310,
contentcuration/contentcuration/frontend/shared/views/QTIEditor/components/ValidationMessage/index.vue) - Added features from issue: 6042 #6132 (comment) (Added features from issue: 6042 #6132,
contentcuration/contentcuration/frontend/channelList/views/Organization/NewOrganization.vue) - Added features from issue: 6042 #6132 (comment) (Added features from issue: 6042 #6132,
contentcuration/contentcuration/frontend/channelList/composables/useChannelOrganizationFilter.js) - Keep RTE toolbar dropdowns from being clipped #6280 (comment) (Keep RTE toolbar dropdowns from being clipped #6280,
contentcuration/contentcuration/frontend/shared/views/TipTapEditor/TipTapEditor/components/toolbar/FormatDropdown.vue) - Keep RTE toolbar dropdowns from being clipped #6280 (comment) (Keep RTE toolbar dropdowns from being clipped #6280,
contentcuration/contentcuration/frontend/shared/views/TipTapEditor/TipTapEditor/components/toolbar/FormatDropdown.vue) - Added features from issue: 6042 #6132 (comment) (Added features from issue: 6042 #6132,
contentcuration/contentcuration/frontend/channelList/views/Organization/OrganizationDetails.vue) - Added features from issue: 6042 #6132 (comment) (Added features from issue: 6042 #6132,
contentcuration/contentcuration/frontend/channelList/views/Organization/OrganizationCard.vue) - Make the rich text editor toolbars a single tab stop with arrow-key navigation #6108 (comment) (Make the rich text editor toolbars a single tab stop with arrow-key navigation #6108,
contentcuration/contentcuration/frontend/shared/views/TipTapEditor/TipTapEditor/components/toolbar/MobileTopBar.vue) - Upgrade KDS to 5.10.0 and use readonly choice controls in the choice interaction editor #6317 (comment) (Upgrade KDS to 5.10.0 and use readonly choice controls in the choice interaction editor #6317,
contentcuration/contentcuration/frontend/shared/views/QTIEditor/interactions/choice/Editor.vue) - Add inline choice chip and Insert action to the passage editor #6277 (comment) (Add inline choice chip and Insert action to the passage editor #6277,
contentcuration/contentcuration/frontend/shared/views/QTIEditor/interactions/inlineChoice/components/InlineChoiceChip/index.vue)

Activity
[-]Recurring review comment: Tests assert outcomes through translator references and roles, not literals, internals or presence[/-][+]Recurring review comments: 3 proposed changes[/+]