diff --git a/_rules/aria-state-or-property-valid-value-6a7281.md b/_rules/aria-state-or-property-valid-value-6a7281.md
index 5c59d39818..aaab1b0ed1 100755
--- a/_rules/aria-state-or-property-valid-value-6a7281.md
+++ b/_rules/aria-state-or-property-valid-value-6a7281.md
@@ -28,19 +28,17 @@ acknowledgments:
## Applicability
-This rule applies to any [WAI-ARIA 1.2 state or property](https://www.w3.org/TR/wai-aria-1.2/#state_prop_def) that is not empty (""), and that is specified on an [HTML or SVG element][].
+This rule applies to any [WAI-ARIA state or property][] that has a non-empty ("") [attribute value][], and that is specified on an [HTML or SVG element][].
## Expectation
-Each test target has a valid value according to its [WAI-ARIA 1.2 value type](https://www.w3.org/TR/wai-aria-1.2/#propcharacteristic_value).
+Each test target has an [attribute value][] that is valid according to its [WAI-ARIA value type][value type].
-For value types `ID Reference` and `ID Reference List` for [WAI-ARIA required properties](https://www.w3.org/TR/wai-aria-1.2/#requiredState) at least one of the elements with the given ids exists in the same [document tree](https://dom.spec.whatwg.org/#document-trees) or in the same [shadow tree](https://dom.spec.whatwg.org/#shadow-trees) as the element that specifies the target attribute.
-
-For value type `URI` the value matches the [generic URI syntax](https://www.ietf.org/rfc/rfc3986.txt).
+**Exception**: For value types `ID Reference` and `ID Reference List` no ID referenced elements are required.
## Assumptions
-This rule catches values that are undefined in [WAI-ARIA Specifications][], and where the resulting behavior in user agents are also undefined in WAI-ARIA. This might lead to accessibility issues, if the intention was to use behavior defined in [WAI-ARIA Specifications][]. When values are used that do not have a defined behavior in [WAI-ARIA Specifications][], the HTML/SVG specification decides what default values should be used, since it is defined here what should happen when an invalid value is used for an attribute. If the default value for invalid attribute values happens to match the author's intention for the value, there will not be an accessibility issue.
+There are no assumptions.
## Accessibility Support
@@ -48,11 +46,9 @@ Some user agents treat the value of `aria-*` attribute as case-sensitive (even w
## Background
-Using invalid ARIA attribute values is often the result of a typo or other developer error. These attributes are then either ignored, or a default value is assumed by browsers and assistive technologies. This often means that a state or property which should exist is missing or has an unexpected value. This can cause issues under [success criterion 1.3.1 Info and Relationships][sc131] or [4.1.2 Name, Rule Value][sc412].
-
-Only for [WAI-ARIA required properties](https://www.w3.org/TR/wai-aria-1.2/#requiredState) with value types `ID Reference` and `ID Reference List` is there a requirement that the elements with the given ids actually exists. For non-required properties, this is not a requirement. For example, the value of the `aria-errormessage` attribute on an `input` does not need to reference an `id` that exists within the same document, because an [HTML element](https://html.spec.whatwg.org/#htmlelement) with such and `id` may be created in response to an [event](https://dom.spec.whatwg.org/#event) that may or may not happen.
+Using invalid ARIA attribute values is often the result of a typo or other developer error. These attributes are then either ignored, or a default value is assumed by browsers and assistive technologies. This often means that a state or property which should exist is missing or has an unexpected value. This can cause issues under [success criterion 1.3.1 Info and Relationships][sc131] or [4.1.2 Name, Rule Value][sc412]. If the default value for invalid attribute values happens to match the author's intention for the value, there will not be an accessibility issue.
-For value type `URI`, this rule does not require that the destination URI exists.
+This rule does not require the target of an `ID Reference` to exist. This is because referencing an element that does not exist, and not having the reference at all has the same end result. A common use case for using `ID Reference` for a non-existing ID is to use a static `aria-errormessage` on an `input` element, and to only insert the element with the error message if there is an actual error. There are some cases in which ID references are required. These are tested in a separate rule.
### Related rules
@@ -72,102 +68,92 @@ For value type `URI`, this rule does not require that the destination URI exists
#### Passed Example 1
-`aria-required` property with valid true/false value
+The `aria-label` [attribute value][] of `Family name` is allowed for the `string` [value type][].
```html
-
+
```
#### Passed Example 2
-`aria-expanded` state with valid true/false/undefined value
+The `aria-required` [attribute value][] of `true` is allowed for the `true/false` [value type][].
```html
-A button
+
```
#### Passed Example 3
-`aria-pressed` state with valid tristate value
+The `aria-expanded` [attribute value][] of `undefined` is allowed for the `true/false/undefined` [value type][].
```html
-An other button
+A button
```
#### Passed Example 4
-`aria-errormessage` property with valid ID reference value
+The `aria-pressed` [attribute value][] of `mixed` is allowed for the `tristate` [value type][].
```html
-
+Partially pressed button
```
#### Passed Example 5
-`aria-owns` property with valid ID reference list value
+The `aria-errormessage` [attribute value][] is an `ID Reference` [value type][]. The presence of an element with a matching ID is not required by this rule.
```html
-Shopping list
-
-Apples
-Bananas
+
```
#### Passed Example 6
-`aria-rowindex` property with valid integer value
+The `aria-owns` [attribute value][] is a valid `ID Reference List` [value type][]. Both tokens reference elements that exist in the same [DOM tree][].
```html
-Fred
+Shopping list
+
+Apples
+Bananas
```
#### Passed Example 7
-`aria-valuemin`, `aria-valuemax` and `aria-valuenow` properties with valid number values
+The `aria-rowindex` [attribute value][] of 2 is a valid `integer` [value type][].
```html
-
+Fred
```
#### Passed Example 8
-`aria-placeholder` property with valid string value
+The `aria-valuemin`, `aria-valuemax` and `aria-valuenow` [attribute values][attribute value] are valid for a `number` [value type][].
```html
-
- MM-DD-YYYY
-
+
```
#### Passed Example 9
-`aria-relevant` property with valid token list values
+The `aria-current` [attribute value][] of `page` is a valid `token` [value type][].
```html
-
+Home
```
#### Passed Example 10
-`aria-controls`, which is a required property for the role `scrollbar`, has `ID Reference list` that references at least one element existing in the same document tree.
+The `aria-relevant` [attribute value][] has a `text` and `removals` tokens. Both are valid tokens for a `aria-relevant` `token list` [value type][].
```html
-Lorem ipsum...
-
+
```
### Failed
#### Failed Example 1
-`aria-required` property with invalid true/false value
+The `aria-required` [attribute value][] of `undefined` is not valid for a `true/false` [value type][].
```html
@@ -175,15 +161,15 @@ For value type `URI`, this rule does not require that the destination URI exists
#### Failed Example 2
-`aria-expanded` state with invalid true/false/undefined value
+The `aria-expanded` [attribute value][] of `collapsed` is not valid for a `true/false/undefined` [value type][].
```html
-A button
+A button
```
#### Failed Example 3
-`aria-pressed` state with invalid tristate value
+The `aria-pressed` [attribute value][] of `horizontal` is not valid for a `tristate` [value type][].
```html
An other button
@@ -191,65 +177,34 @@ For value type `URI`, this rule does not require that the destination URI exists
#### Failed Example 4
-`aria-errormessage` property with invalid ID reference value, since space is not allowed in a single ID
+The `aria-rowindex` [attribute value][] of `2.5` is not valid for an `integer` [value type][] because it is a decimal number.
```html
-
+Fred
```
#### Failed Example 5
-`aria-rowindex` property with invalid integer value
+The `aria-valuemin`, `aria-valuemax` and `aria-valuenow` [attribute values][attribute value] are `strings`. These should all be of the `number` [value type][] instead.
```html
-Fred
+
```
#### Failed Example 6
-`aria-valuemin`, `aria-valuemax` and `aria-valuenow` property with invalid number values
+The `aria-live` [attribute value][] of `page` is not a valid `token`, because `page` is not a token for `aria-live`.
```html
-
+
```
#### Failed Example 7
-`aria-live` property with invalid token value
-
-```html
-
-```
-
-#### Failed Example 8
-
-Element with invalid token list value
-
-```html
-
-```
-
-#### Failed Example 9
-
-`aria-expanded` state with invalid true/false/undefined value for custom element
-
-```html
-My button
-```
-
-#### Failed Example 10
-
-`aria-controls`, which is a required property for the role `scrollbar`, references an element that does not exist in the same document tree.
+The `aria-relevant` [attribute value][] has the two tokens `text` and `always`. The `always` token is not valid for the `aria-relevant` `token list`. In order to be a valid value, all tokens must be valid.
```html
-
+
```
### Inapplicable
@@ -272,23 +227,22 @@ Element has ARIA role, but no ARIA states or properties
#### Inapplicable Example 3
-`aria-checked` state with empty value
-
-**Note**: The HTML validator flags an `aria-checked` attribute with an empty value as an issue. However, since WAI-ARIA 1.1, `aria-checked` has a default value of `undefined`.
+The `aria-live` attribute does not have a value.
```html
-Accept terms and conditions
+Remember to be awesome!
```
#### Inapplicable Example 4
-`aria-hidden` state on an element that is not an [HTML or SVG element][].
+The `aria-hidden` attribute is not on an [HTML or SVG element][].
```xml
-
+
```
-[wai-aria specifications]: #wai-aria-specifications 'List of WAI-ARIA Specifications'
[html or svg element]: #namespaced-element
[sc131]: https://www.w3.org/TR/WCAG21/#info-and-relationships
[sc412]: https://www.w3.org/TR/WCAG21/#name-role-value
+[value type]: https://www.w3.org/TR/wai-aria-1.2/#propcharacteristic_value
+[wai-aria state or property]: https://www.w3.org/TR/wai-aria-1.2/#state_prop_def