issueNumber: MDL-88949 notes: core_courseformat: - message: > The course index tree semantics for subsections have moved from the delegated section wrapper to the activity that delegates it. * The `li[role="treeitem"]` in `core_courseformat/local/courseindex/cm` should add the following attributes when the activity has a delegated section: * `aria-owns`, set to the id of that section's collapsible content, `courseindexcollapse{{number}}` * `aria-labelledby`, set to the id of that section's title element, `courseindexsection{{number}}-title` * `aria-expanded`, set to `false` when the section's `indexcollapsed` is set and `true` otherwise * In `core_courseformat/local/courseindex/section`, `role="treeitem"` and those same three attributes should no longer be set when the section is delegated, and the section title element needs `id="courseindexsection{{number}}-title"` so the tree item can reference it. Note that the `core_courseformat/local/courseindex/section` JS keeps `aria-expanded` up to date by writing to the closest `[role="treeitem"]` ancestor, so the element carrying the role is the one that receives the state. Plugins overriding either template should update both, as the two are no longer independent. type: changed