Skip to content

Fix: hasChildren infinite loop + WCAG critical accessibility fixes#13

Open
camlambert2000 wants to merge 2 commits intomainfrom
staging
Open

Fix: hasChildren infinite loop + WCAG critical accessibility fixes#13
camlambert2000 wants to merge 2 commits intomainfrom
staging

Conversation

@camlambert2000
Copy link
Copy Markdown
Collaborator

@camlambert2000 camlambert2000 commented Mar 25, 2026

Fix 1: hasChildren prefer-not-to-say infinite loop

Fixes infinite loop where selecting 'Prefer not to say' on the children question set hasChildren to null, causing routeToNextProfileQuestion to re-ask the same question indefinitely.
Change: choice 3 now maps to false (mirrors existing lgbtq handler pattern). Test added to verify progression past the gate.

Fix 2: WCAG critical accessibility fixes for screen reader users

Three critical accessibility fixes in ChatWidget.tsx. All attribute-only changes, no visual impact, no routing or safeguarding changes.

  1. aria-live='polite' and role='log' on message container — screen readers now announce new messages
  2. role='dialog', aria-modal, focus trap, Escape to close, focus return on close — keyboard users stay within widget
  3. aria-label on send button, aria-hidden on decorative SVG — send button now announced correctly

73 tests passing, 0 errors.

@camlambert2000 camlambert2000 changed the title Fix: hasChildren prefer-not-to-say infinite loop Fix: hasChildren infinite loop + WCAG critical accessibility fixes Mar 25, 2026
@vercel
Copy link
Copy Markdown

vercel bot commented Mar 25, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
street-support-va-staging Ready Ready Preview, Comment Mar 25, 2026 4:57pm
streetsupport-platform-va Ready Ready Preview, Comment Mar 25, 2026 4:57pm

Request Review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant