Touch Accessibility Review — 4.0/10
This is the most severe UX issue in the current app. Approximately 55 interactive elements have effective tap targets well below the Material Design 44dp minimum.
Systemic cause
The visualDensity: VisualDensity.compact + padding: EdgeInsets.zero combination appears on 55 IconButtons, reducing the default 48dp target to ~32-36dp. Four locations also use materialTapTargetSize.shrinkWrap, explicitly disabling the Material minimum.
Worst offenders
| File |
Size |
Element |
annotation_overlay.dart:185-208 |
28×28dp |
Close/edit annotation buttons |
feed_render.dart:96 |
h=24dp |
TextButton in transcript |
agent_compose.dart:643 |
36×36dp |
Bolt/attach/send buttons (4x) |
agent_compose.dart:770 |
28×28dp |
Input suffix icon |
action_bar_button.dart:205 |
32×36dp |
All ActionBar quick action buttons |
compose_bar.dart:570 |
no minimum |
Suffix icon constraints |
Button spacing (mis-tap risk)
| File |
Gap |
Risk |
compose_bar.dart |
6dp |
Insert/Send too close |
action_bar_settings_screen.dart |
4dp (Wrap) |
Dense buttons |
phase_badge.dart |
4dp |
Badge mis-tap |
Material Design recommends ≥8dp between interactive elements.
P0 fixes
- Replace all
minWidth: 36 / minHeight: 36 on IconButtons → 44/44
- Remove
materialTapTargetSize.shrinkWrap (4 sites)
- Bump TextButton
minimumSize from (0, 28) → (0, 40)
- Increase button spacing from 4-6dp → ≥8dp
Touch Accessibility Review — 4.0/10
This is the most severe UX issue in the current app. Approximately 55 interactive elements have effective tap targets well below the Material Design 44dp minimum.
Systemic cause
The
visualDensity: VisualDensity.compact+padding: EdgeInsets.zerocombination appears on 55 IconButtons, reducing the default 48dp target to ~32-36dp. Four locations also usematerialTapTargetSize.shrinkWrap, explicitly disabling the Material minimum.Worst offenders
annotation_overlay.dart:185-208feed_render.dart:96agent_compose.dart:643agent_compose.dart:770action_bar_button.dart:205compose_bar.dart:570Button spacing (mis-tap risk)
compose_bar.dartaction_bar_settings_screen.dartphase_badge.dartMaterial Design recommends ≥8dp between interactive elements.
P0 fixes
minWidth: 36 / minHeight: 36on IconButtons →44/44materialTapTargetSize.shrinkWrap(4 sites)minimumSizefrom(0, 28)→(0, 40)