From 8275ac5853ccbc94a343672998e36a04436184f6 Mon Sep 17 00:00:00 2001 From: Philip Allgaier Date: Tue, 10 Nov 2020 11:39:09 +0100 Subject: [PATCH] Ensure "next" and "prev" buttons always have ARIA label (#7588) Co-authored-by: Bram Kragten --- hassio/src/ingress-view/hassio-ingress-view.ts | 1 + src/components/ha-icon-button-arrow-next.ts | 10 +++++++++- src/components/ha-icon-button-arrow-prev.ts | 16 +++++++++++++--- src/components/ha-icon-button-next.ts | 16 +++++++++++++--- src/components/ha-icon-button-prev.ts | 16 +++++++++++++--- src/dialogs/notifications/notification-drawer.js | 5 ++++- src/layouts/hass-error-screen.ts | 4 ++++ src/layouts/hass-loading-screen.ts | 1 + src/layouts/hass-subpage.ts | 14 +++++++------- src/layouts/hass-tabs-subpage.ts | 2 +- src/panels/config/areas/ha-config-area-page.ts | 3 ++- src/panels/config/cloud/account/cloud-account.js | 2 +- src/panels/config/cloud/alexa/cloud-alexa.ts | 6 +++--- .../forgot-password/cloud-forgot-password.js | 1 + .../google-assistant/cloud-google-assistant.ts | 6 +++--- src/panels/config/cloud/login/cloud-login.js | 2 +- .../config/cloud/register/cloud-register.js | 2 +- .../config/devices/ha-config-device-page.ts | 5 +++-- .../integration-panels/mqtt/mqtt-config-panel.ts | 2 +- .../ozw/ozw-config-dashboard.ts | 5 +++-- .../integration-panels/ozw/ozw-node-config.ts | 5 +++-- .../integration-panels/ozw/ozw-node-dashboard.ts | 3 ++- .../integration-panels/zha/zha-add-group-page.ts | 1 + .../integration-panels/zha/zha-group-page.ts | 7 ++++--- .../integration-panels/zwave/ha-config-zwave.js | 1 + .../editor/view-editor/hui-dialog-edit-view.ts | 2 +- src/panels/lovelace/ha-panel-lovelace.ts | 1 + src/panels/lovelace/hui-root.ts | 12 ++++++++++-- 28 files changed, 108 insertions(+), 43 deletions(-) diff --git a/hassio/src/ingress-view/hassio-ingress-view.ts b/hassio/src/ingress-view/hassio-ingress-view.ts index 6a56522e9a..14962c6f36 100644 --- a/hassio/src/ingress-view/hassio-ingress-view.ts +++ b/hassio/src/ingress-view/hassio-ingress-view.ts @@ -58,6 +58,7 @@ class HassioIngressView extends LitElement { if (!this.ingressPanel) { return html` diff --git a/src/components/ha-icon-button-arrow-next.ts b/src/components/ha-icon-button-arrow-next.ts index 4d84add488..06401f0e06 100644 --- a/src/components/ha-icon-button-arrow-next.ts +++ b/src/components/ha-icon-button-arrow-next.ts @@ -9,11 +9,16 @@ import { import { mdiArrowLeft, mdiArrowRight } from "@mdi/js"; import "@material/mwc-icon-button/mwc-icon-button"; import "./ha-svg-icon"; +import { HomeAssistant } from "../types"; @customElement("ha-icon-button-arrow-next") export class HaIconButtonArrowNext extends LitElement { + @property({ attribute: false }) public hass!: HomeAssistant; + @property({ type: Boolean }) public disabled = false; + @property() public label?: string; + @internalProperty() private _icon = mdiArrowRight; public connectedCallback() { @@ -29,7 +34,10 @@ export class HaIconButtonArrowNext extends LitElement { } protected render(): TemplateResult { - return html` + return html` `; } diff --git a/src/components/ha-icon-button-arrow-prev.ts b/src/components/ha-icon-button-arrow-prev.ts index 07c8265bb2..fab1951371 100644 --- a/src/components/ha-icon-button-arrow-prev.ts +++ b/src/components/ha-icon-button-arrow-prev.ts @@ -9,11 +9,16 @@ import { import { mdiArrowLeft, mdiArrowRight } from "@mdi/js"; import "@material/mwc-icon-button/mwc-icon-button"; import "./ha-svg-icon"; +import { HomeAssistant } from "../types"; @customElement("ha-icon-button-arrow-prev") export class HaIconButtonArrowPrev extends LitElement { + @property({ attribute: false }) public hass!: HomeAssistant; + @property({ type: Boolean }) public disabled = false; + @property() public label?: string; + @internalProperty() private _icon = mdiArrowLeft; public connectedCallback() { @@ -29,9 +34,14 @@ export class HaIconButtonArrowPrev extends LitElement { } protected render(): TemplateResult { - return html` - - `; + return html` + + + + `; } } diff --git a/src/components/ha-icon-button-next.ts b/src/components/ha-icon-button-next.ts index e328c4ff1e..0ffcd7e9bd 100644 --- a/src/components/ha-icon-button-next.ts +++ b/src/components/ha-icon-button-next.ts @@ -9,11 +9,16 @@ import { import { mdiChevronRight, mdiChevronLeft } from "@mdi/js"; import "@material/mwc-icon-button"; import "./ha-svg-icon"; +import { HomeAssistant } from "../types"; @customElement("ha-icon-button-next") export class HaIconButtonNext extends LitElement { + @property({ attribute: false }) public hass!: HomeAssistant; + @property({ type: Boolean }) public disabled = false; + @property() public label?: string; + @internalProperty() private _icon = mdiChevronRight; public connectedCallback() { @@ -29,9 +34,14 @@ export class HaIconButtonNext extends LitElement { } protected render(): TemplateResult { - return html` - - `; + return html` + + + + `; } } diff --git a/src/components/ha-icon-button-prev.ts b/src/components/ha-icon-button-prev.ts index 077b5a03bf..b70f64c650 100644 --- a/src/components/ha-icon-button-prev.ts +++ b/src/components/ha-icon-button-prev.ts @@ -9,11 +9,16 @@ import { import { mdiChevronRight, mdiChevronLeft } from "@mdi/js"; import "@material/mwc-icon-button/mwc-icon-button"; import "./ha-svg-icon"; +import { HomeAssistant } from "../types"; @customElement("ha-icon-button-prev") export class HaIconButtonPrev extends LitElement { + @property({ attribute: false }) public hass!: HomeAssistant; + @property({ type: Boolean }) public disabled = false; + @property() public label?: string; + @internalProperty() private _icon = mdiChevronLeft; public connectedCallback() { @@ -29,9 +34,14 @@ export class HaIconButtonPrev extends LitElement { } protected render(): TemplateResult { - return html` - - `; + return html` + + + + `; } } diff --git a/src/dialogs/notifications/notification-drawer.js b/src/dialogs/notifications/notification-drawer.js index 0ad149e9f0..81a45156d2 100644 --- a/src/dialogs/notifications/notification-drawer.js +++ b/src/dialogs/notifications/notification-drawer.js @@ -63,7 +63,10 @@ export class HuiNotificationDrawer extends EventsMixin(
[[localize('ui.notification_drawer.title')]]
- + +