Skip to content

Commit 66f059a

Browse files
marktnoonanMikeMcC399tbiethman
authored
UI Coverage and Branch Review updates (#6167)
* add AQ links and button space * use onlinks for demo vids * update Cypress * content updates * content tweaks * add last images * lint-fix * simplify * add detail view docs and clean up * lint fix * Update docs/cloud/get-started/introduction.mdx Co-authored-by: Mike McCready <[email protected]> * Update docs/ui-coverage/core-concepts/compare-reports.mdx Co-authored-by: Mike McCready <[email protected]> * Update docs/ui-coverage/core-concepts/compare-reports.mdx Co-authored-by: Mike McCready <[email protected]> * revert cypress version bump * restore package-lock * remove yarn lockfile * Update docs/app/get-started/why-cypress.mdx Co-authored-by: Tyler Biethman <[email protected]> * Update docs/cloud/features/branch-review.mdx Co-authored-by: Tyler Biethman <[email protected]> * Update docs/cloud/features/branch-review.mdx Co-authored-by: Tyler Biethman <[email protected]> --------- Co-authored-by: Mike McCready <[email protected]> Co-authored-by: Tyler Biethman <[email protected]>
1 parent 99bc952 commit 66f059a

25 files changed

+216
-121
lines changed

docs/accessibility/changelog.mdx

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ sidebar_position: 200
2424

2525
## Week of 2/24/2025
2626

27-
- [Cypress Accessibility Branch Review](/accessibility/core-concepts/comparing-reports) has entered beta. Read the docs to learn how to compare runs and automatically spot newly introduced issues.
27+
- [Cypress Accessibility Branch Review](/accessibility/core-concepts/compare-reports) has entered beta. Read the docs to learn how to compare runs and automatically spot newly introduced issues.
2828

2929
## Week of 1/13/2025
3030

docs/accessibility/core-concepts/comparing-reports.mdx renamed to docs/accessibility/core-concepts/compare-reports.mdx

+6-43
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ Comparing the results from different runs is useful in multiple scenarios.
2929
- **Detecting content issues**: Sometimes content editors can introduce accessibility issues unrelated to code changes. Seeing the example issues presented visually, in context, helps you quickly triage whether you are dealing with a recent code change issue, or a content authorship problem.
3030
- **Reviewing AI-generated code changes**: The increased use of AI to generate and/or review front-end code creates some increased risks of accessibility regressions making it to production. The increase or decrease of accessibility issues when reviewing a pull request helps you understand the impact of the change.
3131
- **Tracing the introduction of issues**: With dropdowns for each run, it's easy to rapidly compare different A and B runs to find the exact commit that introduced a problem.
32-
- **Demonstrating the resolution of issues**: Confirm the effect of your improvements, and share overview with your team to more quickly review code changes.
32+
- **Demonstrating the resolution of issues**: Confirm the effect of your improvements, and share the overview with your team to more quickly review code changes.
3333

3434
## Content of the report
3535

@@ -49,47 +49,8 @@ This organization of the report brings the most significant results to the top -
4949

5050
## How to compare runs
5151

52-
The first step is to get to the Branch Review area of Cypress Cloud, which will let you compare one branch against another - or different runs on the same branch, if needed. We refer to be baseline fun for comparison as the `base` run, and the changes we are comparing with as the `changed` run.
53-
54-
There are a number of ways to get to Branch Review depending on where you are looking at your Cypress results. In all cases, once you've picked a `changed` run, you can adjust the automatically-selected `base` run to any branch or run in the project.
55-
56-
### From a Pull Request
57-
58-
<DocsImage
59-
src="/img/accessibility/core-concepts/branch-review-pull-request.png"
60-
alt="A pull request comment from Cypress with an arrow pointing to the 'View all changes introduced in this branch' link. Test results and some accessibility score and violation information is also visible in the comment. The project has an 86.86% accessibility score, with 9 failed elements. Failed rule counts are 1 critical, 1 serious, 3 moderate, and 0 minor."
61-
/>
62-
63-
Click the "View all changes introduced in this branch" link at the bottom of the Test Results table. You will enter branch review with the current PR's branch and latest run pre-selected as the "changed" run.
64-
65-
### From the run list
66-
67-
Click the branch name associated with the run. This will take you to Branch Review with that branch's newest run pre-selected as the `changed` run.
68-
69-
<DocsImage
70-
src="/img/accessibility/core-concepts/branch-review-run-card.png"
71-
alt="A couple of cards showing various details about Cypress test runs, including pass/fail counts and metadata. An arrow points to the branch name."
72-
/>
73-
74-
### From the project list
75-
76-
<DocsImage
77-
src="/img/accessibility/core-concepts/branch-review-project-card.png"
78-
width="40%"
79-
alt="A card showing the name of an example project and related branches to choose."
80-
/>
81-
82-
The project card shows three active branches for the project. You can click through to any of these to enter Branch Review with the newest run on that branch pre-selected as the `changed` run.
83-
84-
### From the main navigation
85-
86-
<DocsImage
87-
src="/img/accessibility/core-concepts/branch-review-side-nav.png"
88-
width="40%"
89-
alt="The main Cypress Cloud navigation showing Latest Runs, Branches, and Analytics menu items. An arrow points to Branches."
90-
/>
91-
92-
When inside of a project, you can select "Branches" in the main navigation to see a full, filterable list of available branches and choose one to set as the `changed` run.
52+
The first step is to get to the [Branch Review](/cloud/features/branch-review.mdx) area of Cypress Cloud, which will let you compare one branch against another - or different runs on the same branch, if needed.
53+
You can access this area by clicking the branch name associated with a run, or in several other ways. [Learn more about how to compare runs](/cloud/features/branch-review.mdx).
9354

9455
## FAQ
9556

@@ -99,9 +60,11 @@ The best subjects to compare are passing runs that ran similar tests on the same
9960

10061
That said, it still possible and valid to compare runs from different points in time with different sets of test results, as long as you bear in mind all the potential sources of difference between the two runs, which you can evaluate for yourself as you explore the results.
10162

63+
In order to see unified changes for your entire test suite, you need to group all the tests together under a single Cypress run, for each report. Learn more about this in the [Branch Review Best Practices documentation](/cloud/features/branch-review#Best-Practices).
64+
10265
### What is the purpose of the Beta label?
10366

104-
This indicates the feature is ready for use and actively seeking feedback based on real usage of the current implementation. We have a few known issues to work through on our side before we consider this fully production-ready and remove the beta label. These issues only affect a subset of projects -- in most cases everything is working as intended. If you see anything unexpected, please hit the feedback button and let us know.
67+
This indicates the feature is ready for use and actively seeking feedback based on real usage of the current implementation. We have a few known issues to work through on our side before we consider this fully production-ready and remove the beta label. These issues only affect a subset of projects -- in most cases everything is working as intended. If you see anything unexpected, please use the feedback button and let us know.
10568

10669
### Why do I see some views (pages or components) changing from run-to-run?
10770

docs/accessibility/core-concepts/how-it-works.mdx

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Cypress Accessibility seamlessly integrates accessibility testing into your deve
1515
1. **Processing**: When your run completes, the final specs are processed for accessibility checks. Earlier specs have already entered processing and are likely completed by the end of the run.
1616
1. **Organizing Views**: Cypress Cloud groups Views (pages and components) rendered during the run, merging and deduplicating across tests. This ensures page-level results and live DOM snapshots are organized effectively.
1717
1. **Generating reports**: A combined "rule-level" report is created, summarizing all detected accessibility violations.
18-
1. **Displaying results**: Results are displayed in Cypress Cloud in the run details area as well as in [Branch Review](/accessibility/core-concepts/comparing-reports) for comparing runs. Accessibility is also flagged in integrations (e.g., Slack, GitHub/GitLab comments), and accessible via the [Results API](/accessibility/results-api) for optional CI pipeline actions (e.g., failing builds based on unmet standards).
18+
1. **Displaying results**: Results are displayed in Cypress Cloud in the run details area as well as in [Branch Review](/accessibility/core-concepts/compare-reports) for comparing runs. Accessibility is also flagged in integrations (e.g., Slack, GitHub/GitLab comments), and accessible via the [Results API](/accessibility/results-api) for optional CI pipeline actions (e.g., failing builds based on unmet standards).
1919

2020
## About Axe Core®
2121

docs/accessibility/get-started/introduction.mdx

+2-2
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ Cypress Accessibility adds detailed accessibility checks and workflows in Cypres
2727
label="See a demo"
2828
icon="action-play-small"
2929
className="!mb-2 mr-1"
30-
href="https://www.loom.com/share/eedb1d18c22942d39a5ed2471ae72788?sid=e39f791e-c0b3-4efc-9770-cbfac403c3b9"
30+
href="https://on.cypress.io/accessibility-demo-video"
3131
/>
3232
<Btn
3333
label=" Explore an example project"
@@ -75,7 +75,7 @@ From there, you can integrate with CI to set your own standards for handling the
7575
href="/accessibility/guides/detect-changes"
7676
aria-labelledby="card-title-8"
7777
>
78-
<Icon name="chart-line" />
78+
<Icon name="shield-halved" />
7979
<h3 id="card-title-8">Detect and manage changes</h3>
8080
<p>
8181
Compare reports in detail to review only _new_ accessibility issues, use

docs/accessibility/guides/detect-changes.mdx

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ sidebar_position: 70
1111

1212
Cypress Accessibility supports three main paths to observing and acting on changes in the accessibility report for your projects:
1313

14-
- Run comparisons with [Branch Review](/accessibility/core-concepts/comparing-reports)
14+
- Run comparisons with [Branch Review](/accessibility/core-concepts/compare-reports)
1515
- The [Results API](/accessibility/results-api) to fail builds or trigger alerts when results don't meet your standards
1616
- [Analytics](/cloud/features/analytics/enterprise-reporting#Cypress-Accessibility) for high-level trend-spotting and analysis
1717

@@ -33,7 +33,7 @@ Use Branch review when reviewing a pull request made by another developer or bef
3333

3434
Since this reduces the amount of violations to review to just what was affected by the PR code changes, you won't spend any time looking for what's relevant -- and if there is no difference, you'll know your PR does not affect the accessibility score and is safe to merge.
3535

36-
See the main [Accessibility Branch Review docs](/accessibility/core-concepts/comparing-reports) for a video demo of this workflow.
36+
See the main [Accessibility Branch Review docs](/accessibility/core-concepts/compare-reports) for a video demo of this workflow.
3737

3838
#### Compare reports during local development (without waiting for CI)
3939

docs/app/get-started/why-cypress.mdx

+2
Original file line numberDiff line numberDiff line change
@@ -108,12 +108,14 @@ Below are listed some of the key features of each product.
108108

109109
- **Visualize Coverage:** [UI Coverage](/ui-coverage/get-started/introduction) provides a visual overview of test coverage across every page and component of your app, offering clear insights into uncovered areas that everyone can understand.
110110
- **Results API:** Use the UI Coverage [Results API](/ui-coverage/results-api) to programmatically access test coverage data and integrate it into your existing workflows.
111+
- **Branch Review:** Compare runs to see newly introduced elements in your application or unexpected reductions in test coverage.
111112

112113
### Cypress Accessibility
113114

114115
- **Accessibility Checks:** Maximize the value of your existing Cypress tests by instantly adding thousands of [accessibility checks](/accessibility/get-started/introduction) with no setup, code changes, or performance penalty.
115116
- **Run-level reports:** Get a detailed report of accessibility issues found in your test runs with [Run-level reports](/accessibility/core-concepts/run-level-reports).
116117
- **Results API:** Use the Cypress Accessibility's [Results API](/accessibility/results-api) to programmatically access Accessibility results in a CI environment.
118+
- **Branch Review:** Compare any report against a baseline to review only the new violations, without any noise from existing issues.
117119

118120
## Solutions
119121

docs/app/guides/accessibility-testing.mdx

+4-4
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,10 @@ To learn more, you can read our [dedicated docs](/accessibility/get-started/intr
9292

9393
While automation like Axe Core® can detect missing attributes and other aspects of code quality that impact the experience of people with disabilities using the web, this kind of automation doesn't know anything about your specific application and the expectations you have for your users. That's where including accessibility in your specs comes in.
9494

95+
### Keyboard navigation
96+
97+
To test in-page navigation with the keyboard, you can use the [`cy.press()`](/api/commands/press) to dispatch native tab events. This can also be used to test custom behavior like autocomplete.
98+
9599
### Asserting alt text of images
96100

97101
To assert that the correct alternative text is present on your logo image, an explicit test can be written:
@@ -169,10 +173,6 @@ This means that, without some assertions about either the `button` element itsel
169173

170174
Developers who are unfamiliar with accessibility may assume that if a Testing Library `ByRole` locator can be made to pass before and after a code change, there has been no functional or accessibility-related change in the underlying element. As we've seen, this is not actually the case, because of the extra behavior browsers only implement for native HTML elements. For more about this difference and why semantic HTML elements are preferred, see the [first rule of Accessible Rich Internet Applications (ARIA)](https://www.w3.org/TR/using-aria/#rule1).
171175

172-
### Keyboard navigation
173-
174-
To test intra-page navigation with the keyboard, you can use the [`cy.press()`](/api/commands/press) to dispatch native tab events.
175-
176176
## Where to test accessibility
177177

178178
So what should you do in your test automation to help confirm the UI is accessible? First of all, for known critical areas like forms or checkout flows, ensure that the accessibility behavior is tested explicitly in at least one place. The means verifying that form fields and buttons have the correct labels and use the expected HTML elements, and other aspects of the DOM that communicate necessary information.

docs/app/references/trade-offs.mdx

-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ We want to highlight some _temporary_ restrictions that Cypress hopes to
3737
eventually address.
3838

3939
- [Workarounds for the lack of a `cy.hover()` command.](/api/commands/hover)
40-
- [`cy.tab()` command.](https://github.com/cypress-io/cypress/issues/299)
4140
- [There is not any native or mobile events support.](https://github.com/cypress-io/cypress/issues/311#issuecomment-339824191)
4241
- [iframe support is somewhat limited, but does work.](https://github.com/cypress-io/cypress/issues/136)
4342

0 commit comments

Comments
 (0)