Include the states
Empty, loading, error, success and keyboard focus states belong in the design. Define behavior for long text and missing images too. These decisions reduce inconsistent fixes during implementation.
Write acceptance criteria
Replace “match the design” with observable results: headings remain readable, forms preserve answers after errors and menus work with a keyboard. Compare the design and the working product using those same criteria.
