From 98b5b247947c77b0ab890bb616e43656263b4c02 Mon Sep 17 00:00:00 2001 From: Sofia Kurilova Date: Mon, 23 Feb 2026 10:51:29 +0000 Subject: [PATCH 01/94] [TR] A11y: The focus is not visible for the saved draft of the risk profile (#1444) * Focus newly saved profile --- make/DEBIAN/control | 2 +- .../pages/risk-assessment/risk-assessment.component.ts | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/make/DEBIAN/control b/make/DEBIAN/control index e6dabdc8d..d9e58d7f2 100644 --- a/make/DEBIAN/control +++ b/make/DEBIAN/control @@ -1,5 +1,5 @@ Package: Testrun -Version: 2.3.2 +Version: 2.3.1-beta.1 Architecture: amd64 Maintainer: Google Homepage: https://github.com/google/testrun diff --git a/modules/ui/src/app/pages/risk-assessment/risk-assessment.component.ts b/modules/ui/src/app/pages/risk-assessment/risk-assessment.component.ts index 1e4a46666..08bd3476d 100644 --- a/modules/ui/src/app/pages/risk-assessment/risk-assessment.component.ts +++ b/modules/ui/src/app/pages/risk-assessment/risk-assessment.component.ts @@ -206,8 +206,8 @@ export class RiskAssessmentComponent this.liveAnnouncer.clear(); if (!selectedProfile) { this.saveProfile(profile, () => { - this.store.setFocusOnCreateButton(); this.store.scrollToSelectedProfile(); + this.store.setFocusOnSelectedProfile(); }); } else if ( this.compareProfiles(profile, selectedProfile) || @@ -379,10 +379,13 @@ export class RiskAssessmentComponent onSave: (profile: Profile) => { if (profile.status === ProfileStatus.VALID) { this.openSuccessDialog(profile, focusElement); - } else { - focusElement(); } this.store.updateSelectedProfile(profile); + if (profile.status !== ProfileStatus.VALID) { + timer(100).subscribe(() => { + focusElement(); + }); + } }, }); } From 797dd6deed8e12648f25db4f1c420f214429ac61 Mon Sep 17 00:00:00 2001 From: Sofia Kurilova Date: Mon, 23 Feb 2026 11:10:07 +0000 Subject: [PATCH 02/94] [TR] The description of the "steps to resolve" is not aligned in case of long text (#1445) * Fix css --------- Signed-off-by: Sofia Kurilova --- make/DEBIAN/control | 2 +- resources/report/test_report_styles.css | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/make/DEBIAN/control b/make/DEBIAN/control index d9e58d7f2..d332a5f5d 100644 --- a/make/DEBIAN/control +++ b/make/DEBIAN/control @@ -1,5 +1,5 @@ Package: Testrun -Version: 2.3.1-beta.1 +Version: 2.3.1-beta.2 Architecture: amd64 Maintainer: Google Homepage: https://github.com/google/testrun diff --git a/resources/report/test_report_styles.css b/resources/report/test_report_styles.css index d6ebf2552..d6f9aeacb 100644 --- a/resources/report/test_report_styles.css +++ b/resources/report/test_report_styles.css @@ -276,7 +276,7 @@ .steps-to-resolve-test-name { display: inline-block; margin-left: 70px; - margin-right: 10px; + margin-right: -60px; margin-bottom: 20px; width: 250px; vertical-align: top; @@ -284,6 +284,8 @@ .steps-to-resolve-description { display: inline-block; + margin-left: 70px; + margin-bottom: 20px; } .steps-to-resolve.subtitle { From 49788f4439bd85f1205771ffc6d3dd92132eb74b Mon Sep 17 00:00:00 2001 From: Sofia Kurilova Date: Mon, 23 Feb 2026 11:58:20 +0000 Subject: [PATCH 03/94] [TR] A11y: Focus: the Download options are not focused with help of Tab key or arrows (#1443) * Adds arrow navigation * Adds tests --------- Signed-off-by: Sofia Kurilova --- make/DEBIAN/control | 2 +- .../pages/devices/devices.component.spec.ts | 24 ++++++++++ .../download-options.component.html | 15 ++++-- .../download-options.component.ts | 47 ++++++++++++++++++- 4 files changed, 82 insertions(+), 6 deletions(-) diff --git a/make/DEBIAN/control b/make/DEBIAN/control index d332a5f5d..7b2c0be20 100644 --- a/make/DEBIAN/control +++ b/make/DEBIAN/control @@ -1,5 +1,5 @@ Package: Testrun -Version: 2.3.1-beta.2 +Version: 2.3.1-beta.3 Architecture: amd64 Maintainer: Google Homepage: https://github.com/google/testrun diff --git a/modules/ui/src/app/pages/devices/devices.component.spec.ts b/modules/ui/src/app/pages/devices/devices.component.spec.ts index 1132485af..715b92302 100644 --- a/modules/ui/src/app/pages/devices/devices.component.spec.ts +++ b/modules/ui/src/app/pages/devices/devices.component.spec.ts @@ -268,6 +268,30 @@ describe('DevicesComponent', () => { }); })); }); + + describe('#menuItemClicked', () => { + it('should show device item for StartNewTestrun action', fakeAsync(() => { + const spyOpenDialog = spyOn(component, 'openStartTestrun'); + component.menuItemClicked( + { action: DeviceAction.StartNewTestrun, entity: device, index: 1 }, + [], + [] + ); + + expect(spyOpenDialog).toHaveBeenCalled(); + })); + + it('should show device item for Delete action', fakeAsync(() => { + const spyOpenDialog = spyOn(component, 'openDeleteDialog'); + component.menuItemClicked( + { action: DeviceAction.Delete, entity: device, index: 1 }, + [], + [] + ); + + expect(spyOpenDialog).toHaveBeenCalled(); + })); + }); }); @Component({ diff --git a/modules/ui/src/app/pages/testrun/components/download-options/download-options.component.html b/modules/ui/src/app/pages/testrun/components/download-options/download-options.component.html index d6f6abd71..b69b8ace4 100644 --- a/modules/ui/src/app/pages/testrun/components/download-options/download-options.component.html +++ b/modules/ui/src/app/pages/testrun/components/download-options/download-options.component.html @@ -14,9 +14,16 @@ limitations under the License. --> @if (data) { -
+