Issue #3586301: Clean up CCC accessible interactive links and external links.

Closes #3586301

Changes

  • Replace Link::toString() in #markup with proper render arrays and :url placeholders in t() (ai_context.module, AiContextAgentsForm, AiContextAgentForm, AiContextScopeBase).

  • Add rel="noopener noreferrer" to all target="_blank" external links (AiContextExtensionsController, AiContextAgentForm, AiContextItemRevisionOverviewForm, Twig overview template).

  • Add visually-hidden "(opens in new tab)" text to external links for screen readers.

  • Convert buildAgentNameMarkup() to buildAgentName() returning a render array.

  • Simplify AiContextScopeBase::addManageLink() using Url::fromRoute(), removing unused routeProvider and accessManager service dependencies.

  • Remove text-decoration: none from .ai-context-inline-link (WCAG 1.4.1).

  • Fix ::after pseudo-element content: " "content: "" to prevent AT announcing the decorative icon as a space character.

Merge request reports

Loading