Let's say for a moment that you are registering for something online, but when you get to the page asking for your personal information, you try to move ahead without entering anything (maybe you're lazy, or perhaps you have a Ron-Swanson-like passion for privacy). Rather than advancing to the next screen, messages in red appear under the fields you left blank letting you know that the missing information is required.
Such indicators are clear enough for sighted users, but as content authors, you also need to ensure that the same information is accessible for those with low or no vision, who rely on assistive technologies like screen readers to operate the web.
Screen readers interpret the information on a web page through that site's underlying code. Accordingly, for any content implemented with markup languages, it's crucial that status messages can be determined programmatically through role or properties so that those using assistive technologies can be made aware of them without being interrupted.
A status message, in this context, refers to information provided to the user about the results or ongoing progress of an application or process, including the existence of errors (as we saw in the previous section). Such messages, moreover, do not involve a change of context, since such changes, by their nature, interrupt the user by taking focus and so would already be picked up by a screen reader.
A change of context refers to a major shift in the content of a page. This can include changes to the user agent, viewport, or focus.
Here are some examples of status messages and changes of context, so we can try to get a better idea of what they are.