Bug Report
Problematic behavior
Tab order is inconsistent across the application:
- Focus does not return to the trigger button after closing modals
- Non-interactive elements incorrectly receive focus (
tabindex="0" on content areas like .c__modal__content and .attachment-uploader)
- DOM order does not match visual order in some cases
Expected behavior/code
Tab order must follow a logical reading sequence. Focus must return to the trigger element on modal close. Only interactive elements should be focusable.
Steps to Reproduce
- Open any modal, then close it — focus does not return to the trigger button
- Tab through the import modal —
.c__modal__content receives focus
- Tab through the compose view —
.attachment-uploader receives focus
Environment
- RGAA Criterion: 12.8
- Severity: 🟠 Major
Possible Solution
- Return focus to trigger button on every modal close
- Remove
tabindex="0" from .c__modal__content and .attachment-uploader
- On thread selection activation (inbox), move focus to "select all" checkbox via
element.focus()
- In compose/reply view, reorder DOM so subject title appears before thread action buttons bar
- Reorder DOM so mobile menu button and its dropdown are adjacent
Additional context/Screenshots
RGAA reference: Criterion 12.8
Bug Report
Problematic behavior
Tab order is inconsistent across the application:
tabindex="0"on content areas like.c__modal__contentand.attachment-uploader)Expected behavior/code
Tab order must follow a logical reading sequence. Focus must return to the trigger element on modal close. Only interactive elements should be focusable.
Steps to Reproduce
.c__modal__contentreceives focus.attachment-uploaderreceives focusEnvironment
Possible Solution
tabindex="0"from.c__modal__contentand.attachment-uploaderelement.focus()Additional context/Screenshots
RGAA reference: Criterion 12.8