The four form checks
Every input has a programmatic label; the tab order matches the visual order; a validation error is announced at the field; and nothing depends on color to say 'required'.
Where placeholder hurts
Placeholder text is announced as part of the name in some technology, so a placeholder of 'your email here' can become the field's name. Keep labels explicit and placeholders minimal.