all errors implemented with role=alert

Focus the input field below then TAB away to see the inline error message

Click the submit button to see the error summary above the form

Error: There has been an error with input 1

Testing

OS Screen Reader Browser Results
Mac Voicever Safari The inline error and error summary are both read
iOS 9.3 VoiceOver Safari The inline error and error summary are both read
Windows 7 NVDA Firefox The inline error and error summary are both read
Windows 7 JAWS 17 IE11 The inline error is not read either when you move focus away from or return focus to it. The error summary is read after activating the submit button. The error summary repeats 3 times.