New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Replace selector/steps with applicability/expecations #155
Conversation
act-rules-format.bs
Outdated
|
||
If either one of these passed, the rule has passed. Only if both fail, does that element fail the rule. | ||
1. The image has an ARIA label, giving it an accessible name | ||
2. The accessible name is descriptive of the image | ||
</div> | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These two examples make it very difficult to compare, as they are not equivalent.
act-rules-format.bs
Outdated
- **CannotTell**: The result of the test is unknown. Human intervention or further testing is needed. | ||
- **Passed**: All *expectations* for the Test Target were true | ||
- **Failed**: One or more *expectations* for the Test Target was false | ||
- **CannotTell**: The *applicability* or some of the *expectations* were inconclusive. Human intervention or further testing is needed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"Human intervention or further testing is needed" - This implies that the default mode for all tests are automated testing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd argue that we should remove CannotTell
entirely.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps CannotTell could be thought of as an interim response from automated testing only. It is needed for that purpose, even though it may not be a final outcome like the other three.
My 2p.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Dropping this particular result type for now.
act-rules-format.bs
Outdated
|
||
**available**: The isn't hidden with `display:none`, `visibility:hidden` or though `aria-hidden="true"`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"The isn't hidden"? Maybe this should read "The label isn't hidden"?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed
act-rules-format.bs
Outdated
|
||
Selector syntax depends on the test subject type. When a formal syntax can be used, that (part of the) selector should use that syntax. When a formal selector syntax can not be used, that (part of the) selector MAY be described unambiguously in plain language. | ||
Applicability MUST be described objectively, unambiguously and in plain language. When a formal syntax (such as a CSS selector or XPATH) can be used, that (part of the) applicability MAY use that syntax in addition to the plain language description. While testing, if nothing on in the test subject matches the applicability of the rule, the result is `inapplicable`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"if nothing on in"; should the "on" be removed and "in" changed to "within"?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
agreed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Editorial: Grammatical error in the first sentence. I suggest, "The applicability section is a required part of an ACT rule. It MUST contain a precise description of the parts of the test subject to which the rule applies."
act-rules-format.bs
Outdated
@@ -161,9 +161,9 @@ Each *available* `input` element, except elements with `type="hidden"`. | |||
Expectations | |||
------------ | |||
|
|||
Each rule MUST contain one or more expectations. An expectation is a statement that must be true about each test target (see Applicability). Each expectation MUST be written in plain language. Unlike in applicability, a certain level of ambiguity is allowed in expectations. | |||
Each rule MUST contain one or more expectations. An expectation is a statement that must be true about each *test target* (see Applicability). Each expectation MUST be unambiguous and be written in plain language. Unlike in applicability, a certain level of subjectively is allowed in expectations. Meaning that the expectation has only one possible meaning, but that meaning isn't fully quantifiable. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💯 👌
To explain what we mean by expectations there was a discussion to add some clarification - |
act-rules-format.bs
Outdated
|
||
This can be used together, such as in the following example which uses CSS selector syntax to locate elements, combined with a plain language description to further filter the nodes. | ||
An objective description is one that can be resolved without uncertainty in a given technology. Examples of objective properties in HTML are element names, their computed role, the spacing between two elements, etc. Subjective properties on the other hand, are concepts like decorative, navigation mechanism and pre-recorded. Even concepts like headings and images can be misunderstood. Is this talking about the tag name, the accessibility role, it's purpose in the web page? The later of which is almost impossible to define with objectively. When used in applicability, these concepts MUST have an objective definition. This definition can be part of a larger glossary shared between rules. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"with objectively" --> "with objectivity"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm a little confused about Subjective properties. Are we saying that they must be defined objectively by the rule, for example, a corporate logo is decorative?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, "corporate logo is decorative" is subjective and so it can't be in applicability. It can be an expectation.
act-rules-format.bs
Outdated
* Test execution which clearly outlines the actions necessary to reach the result. | ||
* Test result indicating whether test execution step passed or failed. | ||
* Description of the error causing any failing result. | ||
Each rule MUST contain one or more expectations. An expectation is a statement that must be true about each *test target* (see Applicability). Each expectation MUST be unambiguous and be written in plain language. Unlike in applicability, a certain level of subjectively is allowed in expectations. Meaning that the expectation has only one possible meaning, but that meaning isn't fully quantifiable. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"subjectively" --> "subjectivity"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We had a discussion to add that each Expectation is a Conformance statement and should be testable on its own. This will clarify what we mean by Expectations.
act-rules-format.bs
Outdated
@@ -185,27 +179,27 @@ Rule Grouping {#grouping} | |||
|
|||
In accessibility testing, there are often multiple ways to solve the same problem. For instance, in HTML tables, header cells can be indicated through the `scope` attribute, by using the `headers` attributes, or by using ARIA labels. All of these separate techniques could be described in one big rule. But this creates a large, and often difficult to maintain rule. To ensure rules are kept small and atomic, they SHOULD be put into a rule-group instead. | |||
|
|||
To meet the accessibility requirement, only one rule in a rule-group has to pass. This way, for our table example, one could write three separate rules, one for scope, one for headers+id and one ARIA labels). If a table meets any of these rules, it automatically passes the group, and the failed results of the other rules can be ignored. | |||
To meet the accessibility requirement, only one rule in a rule group has to pass. This way, for our table example, one could write three separate rules, one for scope, one for headers+id and one ARIA labels). If a table meets any of these rules, it automatically passes the group, and the failed results of the other rules can be ignored. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is an orphan ")" after "ARIA labels".
Add an editor note to discuss discrete expectations. |
Closes #154 and closes #140