From WCAG 2.0 section 4.1:
4.1.2 Name, Role, Value: For all user interface components (including but not limited to: form elements, links and components generated by scripts), the name and role can be programmatically determined; states, properties, and values that can be set by the user can be programmatically set; and notification of changes to these items is available to user agents, including assistive technologies.
(Emphasis mine.)
Does this mean that user agents may directly add, remove or alter relevant aria-*
states and value attributes, essentially altering the DOM state? If so, how would a script (e.g. a React app) maintain consistent state? Would events be fired to indicate that a change occurred?