Issue #3586292: Exclude conditional subcontext items when AI decisions are disabled.
Description
See Improve conditional subcontext disabled-state b... (#3586292 - closed) • Unassigned • 1.0.0-beta4
Testing instructions
Testing Setup:
mkdir my-drupal-site && cd my-drupal-site ddev config --project-type=drupal11 --docroot=web ddev start ddev composer create-project drupal/cms ddev composer drupal:recipe-unpack ddev exec sed -i 's/"minimum-stability": "stable"/"minimum-stability": "dev"/' composer.json ddev composer require drupal/ai_context:dev-1.0.x -W ddev composer require drupal/ai_agents_debugger ddev launch go through installer in browser and choose the Byte site template ddev drush en ai_context ai_agents_debugger canvas_ai -y cd web/modules/contrib/ai_context switch to the relevant MR branch (see GitLab fork instructions) ddev drush cr
Pasted from Tamas' notes:
Manual UI verification (conditional toggle OFF, with a parent + one required child + one conditional child):
- Conditional-child row is ghosted (italic, reduced opacity) via ai-context-item-list__row--conditional-disabled; required child and parent unaffected.
- Label cell exposes the visually-hidden disabled-status text + the visually-hidden focusable settings link.
- Subcontext icon on the disabled row carries tabindex="0", role="img", aria-label="Conditional subcontext is currently disabled.", and a data-ai-tooltip with plain-text disabled-state wording (no link).
- The settings link is the separate visually-hidden focusable link in the label cell (reveals on keyboard focus); it is intentionally not shown to pointer users on the ghosted row.
- Editing the conditional child shows the "Conditional subcontext is disabled…" warning; editing the required child does not.
- ?fieldset=subcontext deep-link opens the Subcontext fieldset on load (server-side #open; the JS scrollIntoView({block:'nearest'}) is a correct no-op when the fieldset is already in view).
- Flipping the toggle back ON removes the ghosting and the disabled aria attributes.
Checklist
- I have updated the MR title to use format:
Issue #1234: My issue title. - I have updated the MR description to include:
Closes #1234 - I have performed a self-review of my own code
- I have added or updated tests, or explained in the description why this change is not covered by tests
- I have updated documentation for any new or changed functionality
- I have written testing instructions and verified them locally
- I have noted any required post-merge steps (config imports, cache rebuilds, manual changes)
- This MR contains no breaking API or hook changes, or they are explicitly documented in the description
Post-merge / release: call out the disabled-toggle behavior change in the 1.0.0-beta4 release notes — sites with conditional_subcontext_enabled: false now exclude conditional children from normal selection (previously included all without an AI call). No update hook; default stays true.
AI Compliance
Note
Check the one that best describes your usage, or leave all unchecked if AI was not significantly used.
-
AI Assisted Code
Mainly written by a human; AI used for autocomplete or partial generation under full human supervision. -
AI Generated Code
Mainly generated by AI, reviewed and approved by a human before this MR was created. -
Vibe Coded
Generated by AI and only functionally reviewed before this MR was created.
Closes #3586292 (closed)