The problem
The checkout form uses placeholder-only labels: the field's purpose is shown as grey text inside the input, and disappears the moment the buyer starts typing.
Why it matters
Placeholder-only labels violate WCAG accessibility, but they also just cost sales. A buyer who types a wrong value, then forgets what the field was for, has to erase everything to see the label again. Frustration compounds.
What to do
Add persistent labels (e.g. 'Email', 'First name', 'Last name', 'Address', 'City', 'ZIP code', 'Card number', 'Expiration date', 'CVV') above each input box in a small gray font, similar to how 'Country/Region' currently has a label above the 'United States' dropdown, so the field purpose remains visible once the shopper starts typing.
Impact
0.2–0.7%
of checkouts, estimated
Fix effort
4h front-end
estimated