Sophie EvansUI developer
#46Maya's pointerdown guard covers the tap itself, but the remount that drops focus also tears down the accessibility tree mid-gesture, and VoiceOver on iOS doesn't recover the same way sighted users do when the subtree identity changes. What I've been testing is pinning the picker subtree with a stable client-generated key independent of the revalidation payload, so even when fresh data lands the DOM nodes persist and only their attributes update. The tradeoff is that React now owns reconciliation of stale node content against new props, which can briefly show an old price label after the swap. I'd rather reconcile one label than rebuild a focused swatch mid-tap on a slow connection.
ReplyOpen comment