From de15d97a55934f6a2b168f72e25449e303cad9ad Mon Sep 17 00:00:00 2001 From: "it.consulting@tutanota.com" Date: Tue, 21 May 2024 10:41:46 +0100 Subject: [PATCH 01/16] =?UTF-8?q?PAY-6748:=20Paybubble=20footer=20details?= =?UTF-8?q?=20=20=20=20=20=C2=A0=C2=A0=C2=A0[PAY-6748]=20(https://tools.hm?= =?UTF-8?q?cts.net/jira/browse/PAY-6748).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/app.component.html | 16 ++-------------- src/app/app.module.ts | 6 +++++- src/app/routes/app-routing.module.ts | 5 +++++ src/assets/images/govuk-crest-2x.png | Bin 68189 -> 8884 bytes 4 files changed, 12 insertions(+), 15 deletions(-) diff --git a/src/app/app.component.html b/src/app/app.component.html index abb81d79a..6798144b3 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -16,19 +16,7 @@ + diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 6caccfab0..e0ec49f0e 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -39,6 +39,8 @@ import { CookieDetailsComponent } from './components/cookie-details/cookie-detai import { windowProvider, windowToken } from '../window'; import { CookieTableComponent } from './components/cookie-table/cookie-table.component'; import { RpxTranslationModule } from 'rpx-xui-translation'; +import {FooterComponent} from "./shared/components/footer/footer.component"; +import {AccessibilityStatementComponent} from "./components/accessibility-statement/accessibility-statement.component"; const nonProductionProviders = [{ provide: HTTP_INTERCEPTORS, @@ -66,7 +68,9 @@ const nonProductionProviders = [{ CookieBannerComponent, CookiePolicyComponent, CookieDetailsComponent, - CookieTableComponent + CookieTableComponent, + AccessibilityStatementComponent, + FooterComponent ], imports: [ BrowserModule, diff --git a/src/app/routes/app-routing.module.ts b/src/app/routes/app-routing.module.ts index 19e40789e..41f4c1e66 100644 --- a/src/app/routes/app-routing.module.ts +++ b/src/app/routes/app-routing.module.ts @@ -12,6 +12,7 @@ import { CcdSearchComponent } from '../components/ccd-search/ccd-search.componen import { MVPGuard } from '../route-guards/mvp-guard.service'; import { CookiePolicyComponent } from '../components/cookie-policy/cookie-policy.component'; import { CookieDetailsComponent } from '../components/cookie-details/cookie-details.component'; +import {AccessibilityStatementComponent} from "../components/accessibility-statement/accessibility-statement.component"; const routes: Routes = [ { @@ -69,6 +70,10 @@ const routes: Routes = [ path: 'cookies', component: CookiePolicyComponent, }, + { + path: 'accessibility', + component: AccessibilityStatementComponent, + }, { path: 'cookies-policy', component: CookieDetailsComponent, diff --git a/src/assets/images/govuk-crest-2x.png b/src/assets/images/govuk-crest-2x.png index 38b68ef194acf5a49a4fb1c83ea36191801fa312..78e751cc20fa7da9b2f13f3dda9a40299817fb2c 100644 GIT binary patch literal 8884 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 literal 68189 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 HH-7p52n}iU From 69a9c29a97e554e201b292dffa29e3fef71dc6e4 Mon Sep 17 00:00:00 2001 From: "it.consulting@tutanota.com" Date: Tue, 21 May 2024 10:43:48 +0100 Subject: [PATCH 02/16] =?UTF-8?q?PAY-6748:=20Paybubble=20footer=20details?= =?UTF-8?q?=20=20=20=20=20=C2=A0=C2=A0=C2=A0[PAY-6748]=20(https://tools.hm?= =?UTF-8?q?cts.net/jira/browse/PAY-6748).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../accessibility-statement.component.html | 74 ++++++++++++++++++ .../accessibility-statement.component.scss | 0 .../accessibility-statement.component.spec.ts | 33 ++++++++ .../accessibility-statement.component.ts | 16 ++++ .../components/footer/footer.component.html | 34 ++++++++ .../components/footer/footer.component.scss | 6 ++ .../footer/footer.component.spec.ts | 25 ++++++ .../components/footer/footer.component.ts | 15 ++++ .../shared/components/footer/footer.model.ts | 6 ++ src/assets/images/govuk-crest.png | Bin 0 -> 3584 bytes 10 files changed, 209 insertions(+) create mode 100644 src/app/components/accessibility-statement/accessibility-statement.component.html create mode 100644 src/app/components/accessibility-statement/accessibility-statement.component.scss create mode 100644 src/app/components/accessibility-statement/accessibility-statement.component.spec.ts create mode 100644 src/app/components/accessibility-statement/accessibility-statement.component.ts create mode 100644 src/app/shared/components/footer/footer.component.html create mode 100644 src/app/shared/components/footer/footer.component.scss create mode 100644 src/app/shared/components/footer/footer.component.spec.ts create mode 100644 src/app/shared/components/footer/footer.component.ts create mode 100644 src/app/shared/components/footer/footer.model.ts create mode 100644 src/assets/images/govuk-crest.png diff --git a/src/app/components/accessibility-statement/accessibility-statement.component.html b/src/app/components/accessibility-statement/accessibility-statement.component.html new file mode 100644 index 000000000..95d696818 --- /dev/null +++ b/src/app/components/accessibility-statement/accessibility-statement.component.html @@ -0,0 +1,74 @@ +
+
+ Back +

Accessibility statement for PayBubble

+ +

This accessibility statement applies to Paybubble: https://paybubble.platform.hmcts.net
+ This website is run by HM Courts and Tribunals Service. We want as many people as possible to be able to use this website. For example, that means you should be able to:

+
    +
  • change colours, contrast levels and fonts
  • +
  • zoom in up to 300% without the text spilling off the screen
  • +
  • navigate most of the website using just a keyboard
  • +
  • navigate most of the website using speech recognition software
  • +
  • listen to most of the website using a screen reader (including the most recent versions of JAWS, NVDA and VoiceOver)
  • +
+

We've also made the website text as simple as possible to understand.

+

Please contact your line manager for advice on making your device easier to use if you have a disability.

+ +

How accessible this website is

+ +

We know some parts of this website are not fully accessible:

+
    +
  • the text will not reflow in a single column when you change the size of the browser window
  • +
  • some of our online forms are difficult to navigate using just a keyboard
  • +
  • you cannot skip to the main content when using a screen reader.
  • +
+ +

Reporting accessibility problems with this website

+ +

We're always looking to improve the accessibility of this website. If you find any problems not listed on this page or think we're not meeting accessibility requirements, contact: DTS-FeePayServiceDesk@hmcts.net for guidance to raise any issues.

+ +

Enforcement procedure

+ +

The Equality and Human Rights Commission (EHRC) is responsible for enforcing the Public Sector Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018 (the 'accessibility regulations'). + If you're not happy with how we respond to your complaint, contact the Advisory and Support Service (EASS).

+ +

Technical information about this website's accessibility

+ +

HMCTS is committed to making its website accessible, in accordance with the Public Sector Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018.

+ +

Compliance status

+ +

This website is partially compliant with the Web Content Accessibility Guidelines version 2.1 AA standard, due to the non-compliances, listed below.

+ +

Non-accessible content

+ +

The content listed below is non-accessible for the following reasons.

+ +

Non-compliance with the accessibility regulations

+ +

A layout table is present but does not contain any header cells. The screen reader users are not able to associate the table data to table headings. This failed to meet 1.1.1 Non-Text Content Level A.
+ The headings are not hierarchical and heading level 2 is skipped. There are multiple links that are identified as text elements rather than links (This issue pertains only to Safari browser not Google Chrome). A group of radio buttons are not enclosed in a fieldset. This failed to meet 1.3.1 Info and Relationships Level A. + Some of the content gets lost or overlaps when the page is zoomed in to 200% on laptops and at actual size on a mobile device. This failed to meet 1.4.4 Resize Text Level AA.
+ Some content can be lost or overlaps on different smaller devices. This fails to meet 1.4.10 Reflow.
+ The highlight colour does not meet contrast requirements for links. The skip to main content link overlaps other content and then fails contrast. This failed to meet 1.4.11 Non-Text Contrast Level AA.
+ There are multiple links that cannot be tabbed to from the keyboard or do not receive keyboard focus. This failed to meet 2.1.1 Keyboard Level A.
+ The 'skip to main' content link does not skip to main content because the main content region is missing. The navigation landmark is also not present. This failed to meet 2.4.1 Bypass Blocks Level A.
+ The page titles are not unique and do not describe the page. This failed to meet 2.4.2 Page Titled Level A.
+ The pages look identical when searching for a case transaction, payment history, or service request. This could be confusing for users who might think they have not moved pages. The page has no h1 headings. This failed to meet 2.4.6 Headings and Labels Level AA.
+ The language of the document is not identified or the lang attribute value is invalid. This failed to meet 3.1.1 Language of Page Level A.
+ The keyboard focus is not taken to the error summary and is not announced to screen reader users immediately. This failed to meet 3.3.1 Error Identification Level A.
+ A form label is not accurate in its description so it would not make sense for screen reader users. Also, the words which visually label a component are not the words read by the screenreader. This failed to meet 3.3.2 Labels or Instructions Level A.
+ The status message for how many results were found is not announced to screen reader users. This failed to meet 4.1.3 Status Messages Level AA.

+ +

What we're doing to improve accessibility

+

We're committed to ensuring our services are accessible to all our users and that they comply with Web Content Accessibility Guidelines (WCAG) 2.2 Standard. To demonstrate this, we are going to engage with Digital Accessibility Centre to have a further review on 06/24
+ We're actively working to improve the identified issues and make them AA-compliant by 31/05/24

+ +

Preparation of this accessibility statement

+ +

This statement was published 14/03/24

+

This website was last tested on 15/06/22. The test was carried out by Internal Accessibility Team within HMCTS.

+

The full service was tested.

+
+
diff --git a/src/app/components/accessibility-statement/accessibility-statement.component.scss b/src/app/components/accessibility-statement/accessibility-statement.component.scss new file mode 100644 index 000000000..e69de29bb diff --git a/src/app/components/accessibility-statement/accessibility-statement.component.spec.ts b/src/app/components/accessibility-statement/accessibility-statement.component.spec.ts new file mode 100644 index 000000000..ef657afb2 --- /dev/null +++ b/src/app/components/accessibility-statement/accessibility-statement.component.spec.ts @@ -0,0 +1,33 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { SpyLocation } from '@angular/common/testing'; +import { AccessibilityStatementComponent } from './accessibility-statement.component'; +import { Location } from '@angular/common'; + +describe('AccessibilityStatementComponent', () => { + let component: AccessibilityStatementComponent; + let fixture: ComponentFixture; + let location: SpyLocation; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [AccessibilityStatementComponent], + providers: [ + { provide: Location, useClass: SpyLocation } + ] + }); + fixture = TestBed.createComponent(AccessibilityStatementComponent); + component = fixture.componentInstance; + location = TestBed.get(Location); + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); + + it('should go back to previous page on header button click', () => { + spyOn(location, 'back'); + component.backClicked(); + expect(location.back).toHaveBeenCalled(); + }); +}); diff --git a/src/app/components/accessibility-statement/accessibility-statement.component.ts b/src/app/components/accessibility-statement/accessibility-statement.component.ts new file mode 100644 index 000000000..2abd4c664 --- /dev/null +++ b/src/app/components/accessibility-statement/accessibility-statement.component.ts @@ -0,0 +1,16 @@ +import { Component } from '@angular/core'; +import { Location } from '@angular/common'; + +@Component({ + selector: 'app-accessibility-statement', + templateUrl: './accessibility-statement.component.html', + styleUrls: ['./accessibility-statement.component.scss'] +}) +export class AccessibilityStatementComponent { + constructor(private _location: Location) + {} + + backClicked() { + this._location.back(); + } +} diff --git a/src/app/shared/components/footer/footer.component.html b/src/app/shared/components/footer/footer.component.html new file mode 100644 index 000000000..d2d128c95 --- /dev/null +++ b/src/app/shared/components/footer/footer.component.html @@ -0,0 +1,34 @@ +
+ +
+ diff --git a/src/app/shared/components/footer/footer.component.scss b/src/app/shared/components/footer/footer.component.scss new file mode 100644 index 000000000..86c2a3131 --- /dev/null +++ b/src/app/shared/components/footer/footer.component.scss @@ -0,0 +1,6 @@ +.govuk-footer-image{ + margin-right: 15px; + margin-bottom: 25px; + margin-left: 15px; + margin-top: 40px; +} diff --git a/src/app/shared/components/footer/footer.component.spec.ts b/src/app/shared/components/footer/footer.component.spec.ts new file mode 100644 index 000000000..b17e1ad9b --- /dev/null +++ b/src/app/shared/components/footer/footer.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { FooterComponent } from './footer.component'; +import { HmctsGlobalFooterComponent } from '../hmcts-global-footer/hmcts-global-footer.component'; +import { RouterTestingModule } from '@angular/router/testing' + +describe('FooterComponent', () => { + let component: FooterComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [FooterComponent, HmctsGlobalFooterComponent], + imports: [ + RouterTestingModule + ], + }); + fixture = TestBed.createComponent(FooterComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); \ No newline at end of file diff --git a/src/app/shared/components/footer/footer.component.ts b/src/app/shared/components/footer/footer.component.ts new file mode 100644 index 000000000..e7bb1159c --- /dev/null +++ b/src/app/shared/components/footer/footer.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; +import { Navigation } from './footer.model'; + +@Component({ + selector: 'ccpay-bubble-app-footer', + templateUrl: './footer.component.html', + styleUrls: ['./footer.component.scss'] +}) + +export class FooterComponent implements OnInit { + + constructor() {} + + public ngOnInit() {} +} diff --git a/src/app/shared/components/footer/footer.model.ts b/src/app/shared/components/footer/footer.model.ts new file mode 100644 index 000000000..72c015ab1 --- /dev/null +++ b/src/app/shared/components/footer/footer.model.ts @@ -0,0 +1,6 @@ +export interface NavigationItems { + text: string; href: string; +} +export interface Navigation { + items: NavigationItems[]; +} diff --git a/src/assets/images/govuk-crest.png b/src/assets/images/govuk-crest.png new file mode 100644 index 0000000000000000000000000000000000000000..bed4efe418aa66b19004c048d4ee232004ee802f GIT binary patch literal 3584 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 literal 0 HcmV?d00001 From 1536e1c6dc508246506a18ba56b4280c0516c775 Mon Sep 17 00:00:00 2001 From: "it.consulting@tutanota.com" Date: Wed, 22 May 2024 14:34:15 +0100 Subject: [PATCH 03/16] =?UTF-8?q?PAY-6748:=20Paybubble=20footer=20details?= =?UTF-8?q?=20=20=20=20=20=C2=A0=C2=A0=C2=A0[PAY-6748]=20(https://tools.hm?= =?UTF-8?q?cts.net/jira/browse/PAY-6748).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/app.component.html | 1 - .../cookie-banner.component.spec.ts | 34 --------- .../cookie-banner/cookie-banner.component.ts | 66 +---------------- .../cookie-policy.component.html | 55 ++++++-------- .../cookie-policy.component.spec.ts | 17 ++++- .../cookie-policy/cookie-policy.component.ts | 28 ++++---- src/assets/js/cookie-manager-1.0.0.min.js | 1 + src/assets/js/cookie.js | 71 +++++++++++++++++++ src/assets/stylesheets/main.scss | 5 ++ src/index.html | 5 ++ 10 files changed, 136 insertions(+), 147 deletions(-) create mode 100644 src/assets/js/cookie-manager-1.0.0.min.js create mode 100644 src/assets/js/cookie.js diff --git a/src/app/app.component.html b/src/app/app.component.html index 6798144b3..5b47671fe 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -16,7 +16,6 @@ -
diff --git a/src/app/components/cookie-banner/cookie-banner.component.spec.ts b/src/app/components/cookie-banner/cookie-banner.component.spec.ts index 2e83cbf59..e51d71834 100644 --- a/src/app/components/cookie-banner/cookie-banner.component.spec.ts +++ b/src/app/components/cookie-banner/cookie-banner.component.spec.ts @@ -38,40 +38,6 @@ describe('CookieBannerComponent', () => { it('should be created by angular', () => { expect(fixture).not.toBeNull(); }); - it ('should make a call all enable function and push', () => { - spyOn((windowTestBed as any).dtrum, 'enable').and.callThrough(); - spyOn((windowTestBed as any).dtrum, 'enableSessionReplay').and.callThrough(); - spyOn((windowTestBed as any).dataLayer, 'push').and.callThrough(); - - const preference = { apm: 'on' }; - - appComponent.preferenceFn((windowTestBed as any).dtrum, preference, (windowTestBed as any).dataLayer); - expect((windowTestBed as any).dataLayer.push).toHaveBeenCalled(); - expect((windowTestBed as any).dtrum.enable).toHaveBeenCalled(); - expect((windowTestBed as any).dtrum.enableSessionReplay).toHaveBeenCalled(); - }); - it ('should make a call all disable function and push', () => { - spyOn((windowTestBed as any).dtrum, 'disableSessionReplay').and.callThrough(); - spyOn((windowTestBed as any).dtrum, 'disable').and.callThrough(); - spyOn((windowTestBed as any).dataLayer, 'push').and.callThrough(); - const preference = { apm: 'off' }; - - appComponent.preferenceFn((windowTestBed as any).dtrum, preference, (windowTestBed as any).dataLayer); - expect((windowTestBed as any).dataLayer.push).toHaveBeenCalled(); - expect((windowTestBed as any).dtrum.disableSessionReplay).toHaveBeenCalled(); - expect((windowTestBed as any).dtrum.disable).toHaveBeenCalled(); - }); - it ('should make a call all disable function', () => { - spyOn((windowTestBed as any).dtrum, 'disableSessionReplay').and.callThrough(); - spyOn((windowTestBed as any).dtrum, 'disable').and.callThrough(); - spyOn((windowTestBed as any).dataLayer, 'push').and.callThrough(); - const preference = { apm: 'off' }; - - appComponent.preferenceFn(undefined, preference, (windowTestBed as any).dataLayer); - expect((windowTestBed as any).dataLayer.push).toHaveBeenCalled(); - expect((windowTestBed as any).dtrum.disableSessionReplay).not.toHaveBeenCalled(); - expect((windowTestBed as any).dtrum.disable).not.toHaveBeenCalled(); - }); afterEach(() => { TestBed.resetTestingModule(); diff --git a/src/app/components/cookie-banner/cookie-banner.component.ts b/src/app/components/cookie-banner/cookie-banner.component.ts index 15a204095..70bb35c8c 100644 --- a/src/app/components/cookie-banner/cookie-banner.component.ts +++ b/src/app/components/cookie-banner/cookie-banner.component.ts @@ -20,69 +20,5 @@ export class CookieBannerComponent implements OnInit { this.window = window as Window; } - public ngOnInit(): void { - - const config = { - userPreferences: { - cookieName: 'ccpay-bubble-cookie-preferences', - }, - preferencesForm: { - class: 'cookie-preferences-form', - }, - cookieManifest: [ - { - categoryName: 'analytics', - cookies: [ - '_ga', - '_gid', - '_gat_UA-' - ] - }, - { - categoryName: 'apm', - cookies: [ - 'dtCookie', - 'dtLatC', - 'dtPC', - 'dtSa', - 'rxVisitor', - 'rxvt' - ] - }, - { - categoryName: 'essential', - optional: false, - matchBy: 'exact', - cookies: [ - '_csrf', - '__user-info' - ] - }, - ] - }; - - cookieManager.on('UserPreferencesLoaded', (preferences) => { - const dataLayer = window['dataLayer'] || []; - dataLayer.push({'event': 'Cookie Preferences', 'cookiePreferences': preferences}); - }); - cookieManager.on('UserPreferencesSaved', (preferences) => { - const dataLayer = window['dataLayer'] || []; - const dtrum = window['dtrum']; - this.preferenceFn(dtrum, preferences, dataLayer); - }); - cookieManager.init(config); - } - - preferenceFn(dtrum, preferences, dataLayer) { - dataLayer.push({'event': 'Cookie Preferences', 'cookiePreferences': preferences}); - if (dtrum !== undefined) { - if (preferences.apm === 'on') { - dtrum.enable(); - dtrum.enableSessionReplay(); - } else { - dtrum.disableSessionReplay(); - dtrum.disable(); - } - } - } + public ngOnInit(): void {} } diff --git a/src/app/components/cookie-policy/cookie-policy.component.html b/src/app/components/cookie-policy/cookie-policy.component.html index 5dd329621..ed318ec09 100644 --- a/src/app/components/cookie-policy/cookie-policy.component.html +++ b/src/app/components/cookie-policy/cookie-policy.component.html @@ -1,7 +1,7 @@
- Back + Back