Your menu is in the wrong corner.
On a 6.7″ phone the navigation icon in the top app bar sits roughly921px from a thumb resting on the bottom edge — 152mm on a display 154mm tall, so the reach is as long as the phone. It needs a grip shift or a second hand. Every design system’s default app bar puts the primary navigation trigger exactly there. thumbzone puts it where the thumb already is: bottom centre.
921px
Thumb to the app bar icon
48×48
Minimum trigger, px
7
Design systems, one pattern
0
Axe violations, closed & open
One pattern, every ground
390px wide
This is a viewport, not a phone, and a mouse is not a thumb. Open it on one to judge the gesture; the argument is about reach, and reach is something you feel.
An executable conformance suite
Behaviour is defined by an executable conformance suite parameterised over the systems registry. Registering a port is what subjects it to every check; there is no way to register a system and not be tested.
- Hidden entirely at and above 768px — a mobile pattern, not a replacement for one.
- Trigger at least 48×48px, within 96px of the bottom edge.
- Dismissed past 25% of sheet height, or on a downward fling at 0.5px/ms.
- Zero axe violations across WCAG 2.0, 2.1 and 2.2 A and AA, sheet closed and open.
Awaiting a port
The registry is open. Each of these needs markup and styling in its own system's idiom — the behaviour is already shared, and the suite already knows how to judge it.