User impact
Screen-reader users cannot reliably identify field purpose, blocking task completion.
Evidence
Name, email, and message inputs rely solely on placeholder text. Labels are absent from DOM and not announced by assistive technologies.
Remediation
Associate visible <label> elements with each input via htmlFor/id pairing. Preserve placeholder text as supplementary hint, not primary instruction.