Clean up CCC form and table accessibility cleanup
## Problem/motivation Follow-up to: #3586258+s Parent: #3586298+s **5. Form And Table Accessibility Cleanup** **Priority:** Medium **Why group these together:** These are smaller Form API and admin UI accessibility improvements. They can be handled in one cleanup issue. Includes: - `Drupal.announce()` result counts for both JS filters. - Tests for filter announcements if feasible. ## Solution ### 5.1 Replace disabled read-only selects with text **File:** - `src/Form/AiContextAgentForm.php` **Problem:** Read-only states such as unpublished/global inclusion are rendered as disabled select elements. Disabled controls can be confusing because they are announced as controls but cannot be operated. **Recommended fix:** - Render read-only values as `#type => 'item'`, `#plain_text`, or a small status render array. - Keep actual selects only for editable inclusion overrides. ### 5.2 Convert raw help-list markup to render arrays **File:** - `src/Form/AiContextAgentForm.php` **Problem:** Help content is rendered as a raw `<ul>/<li>` string in `#markup`. **Recommended fix:** - Use `#theme => 'item_list'`. - Keep the labels and descriptions translatable. - Avoid embedding trusted HTML in translation strings where structured render arrays can express the same content. ### 5.3 Add accessible table names where useful **Files:** - `src/Form/AiContextAgentForm.php` - `src/Form/AiContextAgentsForm.php` - `src/Form/AiContextScopeOverviewForm.php` **Problem:** Several admin tables have headers but no `#caption`. Captions can help screen reader users understand table purpose, especially on dense admin pages. **Recommended fix:** - Add concise `#caption` values where tables need explicit names. - Avoid redundant captions where surrounding headings already provide a clear accessible name; verify with rendered markup. ### 5.4 Replace emoji warning in descriptions **File:** - `src/Form/AiContextItemForm.php` **Problem:** Warning emoji in translatable descriptions may be announced inconsistently by screen readers. **Recommended fix:** - Use text such as “Warning:” or a proper status/warning render pattern. - If an icon remains, make it decorative and provide text. --- ## AI usage - [x] AI assisted issue
issue