From 0d2d0053e51982756cb642da1f6178f2cba14ebd Mon Sep 17 00:00:00 2001 From: Dave Lockhart Date: Tue, 19 May 2026 16:16:47 -0400 Subject: [PATCH] GAUD-9891: remove separator and skip components --- demo/components/navigation/iterator.html | 1 - demo/components/navigation/navigation.html | 6 -- demo/components/navigation/skip.html | 32 ------ index.html | 1 - package.json | 3 - .../navigation/navigation-separator.js | 30 ------ .../navigation/navigation-skip-main.js | 31 ------ src/components/navigation/navigation-skip.js | 54 ----------- src/components/navigation/navigation.js | 4 +- src/lang/ar.js | 1 - src/lang/cy.js | 1 - src/lang/da.js | 1 - src/lang/de.js | 1 - src/lang/en-gb.js | 1 - src/lang/en.js | 1 - src/lang/es-es.js | 1 - src/lang/es.js | 1 - src/lang/fr-fr.js | 1 - src/lang/fr-on.js | 1 - src/lang/fr.js | 1 - src/lang/haw.js | 1 - src/lang/hi.js | 1 - src/lang/ja.js | 1 - src/lang/ko.js | 1 - src/lang/mi.js | 1 - src/lang/nl.js | 1 - src/lang/pt.js | 1 - src/lang/sv.js | 1 - src/lang/th.js | 1 - src/lang/tr.js | 1 - src/lang/vi.js | 1 - src/lang/zh-cn.js | 1 - src/lang/zh-tw.js | 1 - .../labs-navigation-skip-main/chromium/ar.png | Bin 17711 -> 0 bytes .../labs-navigation-skip-main/chromium/en.png | Bin 16742 -> 0 bytes .../labs-navigation-skip/chromium/focus.png | Bin 10761 -> 0 bytes .../labs-navigation/chromium/separator.png | Bin 376 -> 0 bytes test/components/navigation/navigation.axe.js | 12 --- test/components/navigation/navigation.test.js | 11 --- .../components/navigation/navigation.vdiff.js | 4 +- test/components/navigation/skip-main.axe.js | 12 --- test/components/navigation/skip-main.test.js | 91 ------------------ test/components/navigation/skip-main.vdiff.js | 24 ----- test/components/navigation/skip.axe.js | 16 --- test/components/navigation/skip.test.js | 44 --------- test/components/navigation/skip.vdiff.js | 17 ---- 46 files changed, 3 insertions(+), 414 deletions(-) delete mode 100644 demo/components/navigation/skip.html delete mode 100644 src/components/navigation/navigation-separator.js delete mode 100644 src/components/navigation/navigation-skip-main.js delete mode 100644 src/components/navigation/navigation-skip.js delete mode 100644 test/components/navigation/golden/labs-navigation-skip-main/chromium/ar.png delete mode 100644 test/components/navigation/golden/labs-navigation-skip-main/chromium/en.png delete mode 100644 test/components/navigation/golden/labs-navigation-skip/chromium/focus.png delete mode 100644 test/components/navigation/golden/labs-navigation/chromium/separator.png delete mode 100644 test/components/navigation/skip-main.axe.js delete mode 100644 test/components/navigation/skip-main.test.js delete mode 100644 test/components/navigation/skip-main.vdiff.js delete mode 100644 test/components/navigation/skip.axe.js delete mode 100644 test/components/navigation/skip.test.js delete mode 100644 test/components/navigation/skip.vdiff.js diff --git a/demo/components/navigation/iterator.html b/demo/components/navigation/iterator.html index e9e079f5..ffc4bac6 100644 --- a/demo/components/navigation/iterator.html +++ b/demo/components/navigation/iterator.html @@ -4,7 +4,6 @@ diff --git a/demo/components/navigation/navigation.html b/demo/components/navigation/navigation.html index afef7af7..12de5d4d 100644 --- a/demo/components/navigation/navigation.html +++ b/demo/components/navigation/navigation.html @@ -7,7 +7,6 @@ import '../../../src/components/navigation/navigation.js'; import '../../../src/components/navigation/navigation-main-header.js'; import '../../../src/components/navigation/navigation-main-footer.js'; - import '../../../src/components/navigation/navigation-separator.js'; @@ -58,11 +57,6 @@

Just Header

-

Separator

- - - -

Band Default

diff --git a/demo/components/navigation/skip.html b/demo/components/navigation/skip.html deleted file mode 100644 index ed23dd9c..00000000 --- a/demo/components/navigation/skip.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - -

Custom

- - - - - - -

Main

- - - -
- - diff --git a/index.html b/index.html index 5653a3ea..2792d142 100644 --- a/index.html +++ b/index.html @@ -45,7 +45,6 @@

Components

  • d2l-labs-navigation buttons and links
  • d2l-labs-navigation-immersive
  • d2l-labs-navigation-iterator
  • -
  • d2l-labs-navigation-skip
  • Opt-In Flyout
  • diff --git a/package.json b/package.json index e1d1edfa..d8dd212d 100644 --- a/package.json +++ b/package.json @@ -31,10 +31,7 @@ "./components/navigation/navigation-main-footer.js": "./src/components/navigation/navigation-main-footer.js", "./components/navigation/navigation-main-header.js": "./src/components/navigation/navigation-main-header.js", "./components/navigation/navigation-notification-icon.js": "./src/components/navigation/navigation-notification-icon.js", - "./components/navigation/navigation-separator.js": "./src/components/navigation/navigation-separator.js", "./components/navigation/navigation-shared-styles.js": "./src/components/navigation/navigation-shared-styles.js", - "./components/navigation/navigation-skip-main.js": "./src/components/navigation/navigation-skip-main.js", - "./components/navigation/navigation-skip.js": "./src/components/navigation/navigation-skip.js", "./components/navigation/navigation-styles.js": "./src/components/navigation/navigation-styles.js", "./components/navigation/navigation.js": "./src/components/navigation/navigation.js", "./components/opt-in-flyout.js": "./src/components/opt-in-flyout/opt-in-flyout.js", diff --git a/src/components/navigation/navigation-separator.js b/src/components/navigation/navigation-separator.js deleted file mode 100644 index 60413a50..00000000 --- a/src/components/navigation/navigation-separator.js +++ /dev/null @@ -1,30 +0,0 @@ -import '@brightspace-ui/core/components/colors/colors.js'; -import '@brightspace-ui/core/components/icons/icon.js'; -import { css, html, LitElement } from 'lit'; - -/** - * Separator component to be used between buttons in a navigational element. - */ -class NavigationSeparator extends LitElement { - - static get styles() { - return css` - :host { - display: inline-block; - margin: 0 9px; - } - d2l-icon { - color: var(--d2l-color-mica); - } - `; - } - - render() { - return html` - - `; - } - -} - -customElements.define('d2l-labs-navigation-separator', NavigationSeparator); diff --git a/src/components/navigation/navigation-skip-main.js b/src/components/navigation/navigation-skip-main.js deleted file mode 100644 index ad3309fe..00000000 --- a/src/components/navigation/navigation-skip-main.js +++ /dev/null @@ -1,31 +0,0 @@ -import './navigation-skip.js'; -import { html, LitElement } from 'lit'; -import { FocusMixin } from '@brightspace-ui/core/mixins/focus/focus-mixin.js'; -import { LocalizeLabsElement } from '../localize-labs-element.js'; -import { querySelectorComposed } from '@brightspace-ui/core/helpers/dom.js'; - -class NavigationSkipMain extends FocusMixin(LocalizeLabsElement(LitElement)) { - - static get focusElementSelector() { - return 'd2l-labs-navigation-skip'; - } - - render() { - return html``; - } - - _handleSkipNav() { - const elem = querySelectorComposed(document, 'main') || - querySelectorComposed(document, '[role="main"]') || - querySelectorComposed(document, 'h1'); - if (elem) { - elem.tabIndex = -1; - elem.focus(); - } else { - this.dispatchEvent(new CustomEvent('d2l-labs-navigation-skip-fail', { bubbles: false, composed: false })); - } - } - -} - -customElements.define('d2l-labs-navigation-skip-main', NavigationSkipMain); diff --git a/src/components/navigation/navigation-skip.js b/src/components/navigation/navigation-skip.js deleted file mode 100644 index 50f41acf..00000000 --- a/src/components/navigation/navigation-skip.js +++ /dev/null @@ -1,54 +0,0 @@ -import { css, html, LitElement } from 'lit'; -import { FocusMixin } from '@brightspace-ui/core/mixins/focus/focus-mixin.js'; -import { PropertyRequiredMixin } from '@brightspace-ui/core/mixins/property-required/property-required-mixin.js'; - -class NavigationSkip extends FocusMixin(PropertyRequiredMixin(LitElement)) { - - static get properties() { - return { - text: { required: true, type: String } - }; - } - - static get styles() { - return css` - a { - inset-inline-start: -10000px; - overflow: hidden; - position: absolute; - width: 1px; - } - a:active, - a:focus { - background-color: rgba(0, 0, 0, 0.7); - border: 1px solid rgba(0, 0, 0, 0.8); - color: #ffffff; - cursor: pointer; - display: block; - font-weight: bold; - inset-block-start: 0; - inset-inline-start: 25%; - margin: 0 auto; - outline: none; - padding: 0.3em; - text-align: center; - text-decoration: none; - width: 50%; - z-index: 10000; - } - `; - } - - static get focusElementSelector() { - return 'a'; - } - - render() { - // Href attribute is needed for a11y tools to recognize anchor as a link - // and for click events to be dispatched using key presses - return html`${this.text}`; - } - -} - -customElements.define('d2l-labs-navigation-skip', NavigationSkip); diff --git a/src/components/navigation/navigation.js b/src/components/navigation/navigation.js index ce455f5e..d9790328 100644 --- a/src/components/navigation/navigation.js +++ b/src/components/navigation/navigation.js @@ -1,5 +1,5 @@ +import '@brightspace-ui/core/components/skip-nav/skip-nav-main.js'; import './navigation-band.js'; -import './navigation-skip-main.js'; import { css, html, LitElement, nothing } from 'lit'; import { getNextFocusable } from '@brightspace-ui/core/helpers/focus.js'; @@ -40,7 +40,7 @@ class Navigation extends LitElement { } render() { - const skipNav = this.hasSkipNav ? html`` : nothing; + const skipNav = this.hasSkipNav ? html`` : nothing; return html` ${skipNav} diff --git a/src/lang/ar.js b/src/lang/ar.js index a54f1db6..3ed5e66a 100644 --- a/src/lang/ar.js +++ b/src/lang/ar.js @@ -61,7 +61,6 @@ export default { "components:navigation:back": "العودة", "components:navigation:next": "التالي", "components:navigation:previous": "السابق", - "components:navigation:skipNav": "تجاوز إلى المحتوى الرئيسي", "components:optInFlyout:cancel": "إلغاء", "components:optInFlyout:close": "إغلاق مربع الحوار هذا", "components:optInFlyout:done": "تم", diff --git a/src/lang/cy.js b/src/lang/cy.js index aa886408..d8e9db6c 100644 --- a/src/lang/cy.js +++ b/src/lang/cy.js @@ -61,7 +61,6 @@ export default { "components:navigation:back": "Yn ôl", "components:navigation:next": "Nesaf", "components:navigation:previous": "Blaenorol", - "components:navigation:skipNav": "neidio i’r prif gynnwys", "components:optInFlyout:cancel": "Canslo", "components:optInFlyout:close": "Cau’r dialog hwn", "components:optInFlyout:done": "Wedi Gorffen", diff --git a/src/lang/da.js b/src/lang/da.js index dbd376e4..92c7ae5f 100644 --- a/src/lang/da.js +++ b/src/lang/da.js @@ -61,7 +61,6 @@ export default { "components:navigation:back": "Tilbage", "components:navigation:next": "Næste", "components:navigation:previous": "Forrige", - "components:navigation:skipNav": "spring videre til hovedindhold", "components:optInFlyout:cancel": "Annuller", "components:optInFlyout:close": "Luk denne dialogboks", "components:optInFlyout:done": "Udført", diff --git a/src/lang/de.js b/src/lang/de.js index f5f73b5c..cb0de58e 100644 --- a/src/lang/de.js +++ b/src/lang/de.js @@ -61,7 +61,6 @@ export default { "components:navigation:back": "Zurück", "components:navigation:next": "Weiter", "components:navigation:previous": "Zurück", - "components:navigation:skipNav": "zum Hauptinhalt springen", "components:optInFlyout:cancel": "Abbrechen", "components:optInFlyout:close": "Dieses Dialogfeld schließen", "components:optInFlyout:done": "Fertig", diff --git a/src/lang/en-gb.js b/src/lang/en-gb.js index 7ed5c68a..9a3e8465 100644 --- a/src/lang/en-gb.js +++ b/src/lang/en-gb.js @@ -61,7 +61,6 @@ export default { "components:navigation:back": "Back", "components:navigation:next": "Next", "components:navigation:previous": "Previous", - "components:navigation:skipNav": "skip to main content", "components:optInFlyout:cancel": "Cancel", "components:optInFlyout:close": "Close this dialogue", "components:optInFlyout:done": "Done", diff --git a/src/lang/en.js b/src/lang/en.js index 73d58c65..81cb2e55 100644 --- a/src/lang/en.js +++ b/src/lang/en.js @@ -61,7 +61,6 @@ export default { "components:navigation:back": "Back", "components:navigation:next": "Next", "components:navigation:previous": "Previous", - "components:navigation:skipNav": "skip to main content", "components:optInFlyout:cancel": "Cancel", "components:optInFlyout:close": "Close this dialog", "components:optInFlyout:done": "Done", diff --git a/src/lang/es-es.js b/src/lang/es-es.js index d7efcb1a..e81ce5a3 100644 --- a/src/lang/es-es.js +++ b/src/lang/es-es.js @@ -61,7 +61,6 @@ export default { "components:navigation:back": "Volver", "components:navigation:next": "Siguiente", "components:navigation:previous": "Anterior", - "components:navigation:skipNav": "pasar al contenido principal", "components:optInFlyout:cancel": "Cancelar", "components:optInFlyout:close": "Cerrar este cuadro de diálogo", "components:optInFlyout:done": "Hecho", diff --git a/src/lang/es.js b/src/lang/es.js index 3a159613..cc638e23 100644 --- a/src/lang/es.js +++ b/src/lang/es.js @@ -61,7 +61,6 @@ export default { "components:navigation:back": "Volver", "components:navigation:next": "Siguiente", "components:navigation:previous": "Anterior", - "components:navigation:skipNav": "pasar al contenido principal", "components:optInFlyout:cancel": "Cancelar", "components:optInFlyout:close": "Cerrar este cuadro de diálogo", "components:optInFlyout:done": "Listo", diff --git a/src/lang/fr-fr.js b/src/lang/fr-fr.js index 095f0052..902816cd 100644 --- a/src/lang/fr-fr.js +++ b/src/lang/fr-fr.js @@ -61,7 +61,6 @@ export default { "components:navigation:back": "Retour", "components:navigation:next": "Suivant", "components:navigation:previous": "Précédent", - "components:navigation:skipNav": "passer au contenu principal", "components:optInFlyout:cancel": "Annuler", "components:optInFlyout:close": "Fermer cette boîte de dialogue", "components:optInFlyout:done": "Terminé", diff --git a/src/lang/fr-on.js b/src/lang/fr-on.js index 30b345f9..3075a750 100644 --- a/src/lang/fr-on.js +++ b/src/lang/fr-on.js @@ -61,7 +61,6 @@ export default { "components:navigation:back": "Retour", "components:navigation:next": "Page suivante", "components:navigation:previous": "Précédent", - "components:navigation:skipNav": "passer au contenu principal", "components:optInFlyout:cancel": "Annuler", "components:optInFlyout:close": "Fermer cette boîte de dialogue", "components:optInFlyout:done": "Terminé", diff --git a/src/lang/fr.js b/src/lang/fr.js index 53a67e19..5d4bc8e5 100644 --- a/src/lang/fr.js +++ b/src/lang/fr.js @@ -61,7 +61,6 @@ export default { "components:navigation:back": "Retour", "components:navigation:next": "Suivant", "components:navigation:previous": "Précédent", - "components:navigation:skipNav": "passer au contenu principal", "components:optInFlyout:cancel": "Annuler", "components:optInFlyout:close": "Fermer cette boîte de dialogue", "components:optInFlyout:done": "Terminé", diff --git a/src/lang/haw.js b/src/lang/haw.js index 82989642..6f5fb383 100644 --- a/src/lang/haw.js +++ b/src/lang/haw.js @@ -61,7 +61,6 @@ export default { "components:navigation:back": "Hoʻi", "components:navigation:next": "Hiki mai", "components:navigation:previous": "I mua", - "components:navigation:skipNav": "lele i ka mea nui o ka ʻike", "components:optInFlyout:cancel": "Hoʻopau", "components:optInFlyout:close": "Pani i kēia kamaʻilio", "components:optInFlyout:done": "Pau", diff --git a/src/lang/hi.js b/src/lang/hi.js index 3f7d7d41..df4cd02d 100644 --- a/src/lang/hi.js +++ b/src/lang/hi.js @@ -61,7 +61,6 @@ export default { "components:navigation:back": "वापस जाएँ", "components:navigation:next": "अगला", "components:navigation:previous": "पिछला", - "components:navigation:skipNav": "मुख्य सामग्री में जाएँ", "components:optInFlyout:cancel": "कैंसल करें", "components:optInFlyout:close": "यह संवाद बंद करें", "components:optInFlyout:done": "पूरा हो गया", diff --git a/src/lang/ja.js b/src/lang/ja.js index 71d4ef4c..ba74b261 100644 --- a/src/lang/ja.js +++ b/src/lang/ja.js @@ -61,7 +61,6 @@ export default { "components:navigation:back": "戻る", "components:navigation:next": "次へ", "components:navigation:previous": "前へ", - "components:navigation:skipNav": "メインコンテンツへスキップ", "components:optInFlyout:cancel": "キャンセル", "components:optInFlyout:close": "このダイアログを閉じる", "components:optInFlyout:done": "終了", diff --git a/src/lang/ko.js b/src/lang/ko.js index b204fb72..e23d7f3e 100644 --- a/src/lang/ko.js +++ b/src/lang/ko.js @@ -61,7 +61,6 @@ export default { "components:navigation:back": "뒤로", "components:navigation:next": "다음", "components:navigation:previous": "이전", - "components:navigation:skipNav": "기본 콘텐츠로 건너뛰기", "components:optInFlyout:cancel": "취소", "components:optInFlyout:close": "이 대화 상자 닫기", "components:optInFlyout:done": "완료", diff --git a/src/lang/mi.js b/src/lang/mi.js index b473f7b4..510c2bef 100644 --- a/src/lang/mi.js +++ b/src/lang/mi.js @@ -61,7 +61,6 @@ export default { "components:navigation:back": "Hoki Whakamuri", "components:navigation:next": "Whai Ake", "components:navigation:previous": "Mua", - "components:navigation:skipNav": "whakarereke ki te ihirangi matua", "components:optInFlyout:cancel": "Whakakore", "components:optInFlyout:close": "Katia tēnei kōrero", "components:optInFlyout:done": "Kua oti", diff --git a/src/lang/nl.js b/src/lang/nl.js index 6804bdaa..c519ed96 100644 --- a/src/lang/nl.js +++ b/src/lang/nl.js @@ -61,7 +61,6 @@ export default { "components:navigation:back": "Terug", "components:navigation:next": "Volgende", "components:navigation:previous": "Vorige", - "components:navigation:skipNav": "meteen naar hoofdinhoud gaan", "components:optInFlyout:cancel": "Annuleren", "components:optInFlyout:close": "Dit dialoogvenster sluiten", "components:optInFlyout:done": "Gereed", diff --git a/src/lang/pt.js b/src/lang/pt.js index 4defadf3..59672d12 100644 --- a/src/lang/pt.js +++ b/src/lang/pt.js @@ -61,7 +61,6 @@ export default { "components:navigation:back": "Voltar", "components:navigation:next": "Avançar", "components:navigation:previous": "Anterior", - "components:navigation:skipNav": "passar para conteúdo principal", "components:optInFlyout:cancel": "Cancelar", "components:optInFlyout:close": "Fechar esta caixa de diálogo", "components:optInFlyout:done": "Concluído", diff --git a/src/lang/sv.js b/src/lang/sv.js index 313d1735..6680c10a 100644 --- a/src/lang/sv.js +++ b/src/lang/sv.js @@ -61,7 +61,6 @@ export default { "components:navigation:back": "Tillbaka", "components:navigation:next": "Nästa", "components:navigation:previous": "Föregående", - "components:navigation:skipNav": "fortsätt till huvudinnehåll", "components:optInFlyout:cancel": "Avbryt", "components:optInFlyout:close": "Stäng dialogrutan", "components:optInFlyout:done": "Klar", diff --git a/src/lang/th.js b/src/lang/th.js index 44f3cf3e..2da73f3e 100644 --- a/src/lang/th.js +++ b/src/lang/th.js @@ -61,7 +61,6 @@ export default { "components:navigation:back": "กลับ", "components:navigation:next": "ถัดไป", "components:navigation:previous": "ก่อนหน้า", - "components:navigation:skipNav": "ข้ามไปยังเนื้อหาหลัก", "components:optInFlyout:cancel": "ยกเลิก", "components:optInFlyout:close": "ปิดกล่องโต้ตอบนี้", "components:optInFlyout:done": "เสร็จสิ้น", diff --git a/src/lang/tr.js b/src/lang/tr.js index 3e1b4739..47e024b7 100644 --- a/src/lang/tr.js +++ b/src/lang/tr.js @@ -61,7 +61,6 @@ export default { "components:navigation:back": "Geri", "components:navigation:next": "İleri", "components:navigation:previous": "Önceki", - "components:navigation:skipNav": "ana içeriğe atla", "components:optInFlyout:cancel": "İptal et", "components:optInFlyout:close": "Bu iletişim kutusunu kapat", "components:optInFlyout:done": "Bitti", diff --git a/src/lang/vi.js b/src/lang/vi.js index 9f75ce6c..6618730c 100644 --- a/src/lang/vi.js +++ b/src/lang/vi.js @@ -61,7 +61,6 @@ export default { "components:navigation:back": "Quay lại", "components:navigation:next": "Tiếp theo", "components:navigation:previous": "Trước", - "components:navigation:skipNav": "chuyển sang đến nội dung chính", "components:optInFlyout:cancel": "Hủy", "components:optInFlyout:close": "Đóng hộp thoại này", "components:optInFlyout:done": "Hoàn tất", diff --git a/src/lang/zh-cn.js b/src/lang/zh-cn.js index 6e333a0f..8e843b19 100644 --- a/src/lang/zh-cn.js +++ b/src/lang/zh-cn.js @@ -61,7 +61,6 @@ export default { "components:navigation:back": "返回", "components:navigation:next": "下一个", "components:navigation:previous": "上一个", - "components:navigation:skipNav": "跳到主目录", "components:optInFlyout:cancel": "取消", "components:optInFlyout:close": "关闭此对话框", "components:optInFlyout:done": "完成", diff --git a/src/lang/zh-tw.js b/src/lang/zh-tw.js index 831ec7d1..71b97e27 100644 --- a/src/lang/zh-tw.js +++ b/src/lang/zh-tw.js @@ -61,7 +61,6 @@ export default { "components:navigation:back": "返回", "components:navigation:next": "下一個", "components:navigation:previous": "上一個", - "components:navigation:skipNav": "跳至主要內容", "components:optInFlyout:cancel": "取消", "components:optInFlyout:close": "關閉此對話方塊", "components:optInFlyout:done": "完成", diff --git a/test/components/navigation/golden/labs-navigation-skip-main/chromium/ar.png b/test/components/navigation/golden/labs-navigation-skip-main/chromium/ar.png deleted file mode 100644 index f5e403d38625104afe02d177f5b546047d723ade..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17711 zcmeIaXH=72v@VMJiBc3BT|hzUy>}F(NR{3~Q0cwb5Ks^h5D@8IIspRGLJxuz>AfXD z=$#;hUeC*??tRC&d)%?_k8{R3W1RIXB(UDO=9=r7&wSBZxK=v;^E=lda3Y2 z0}tXoigrOJc`N?hZ9)eAqkd%juY10`D`zJX?KE8THa##PtHF~>Yw zVkXWDcX&sMDKEGV1o*nY$IEz0m_Ug!eHKVu!%}HvUvi(5myApR-i-A8?CfK}me=_O zFxXu@Vu$!kTY>R;c=75xBApj6J^(+w%XlIrq>G2=UH$K8cnT5UumAh%+1r0Of4_B) z!STw!uRc?}C;IoryOx`v-=95^o4H&s9^NCKtK`4m3c34ts!#t@r>eU&K_mJosJ$%+ zw!qP7;3`5n(JHVTt^rN{zi zzuR5toEfjy(_Sx$izc0TOI@ZJ`0ks63gmiZbYkN5tN8tazL5`w&uLkS?~->qUB#PW z4|?$16AJ&u(oAlX<9+95#Qh?=MWh3(Hww==I=bG9AARW+g?E4}xWzl_Wth11KHnKd z+*COQg>l+!cJ^FX9wPv@LGsec#PYnDpEWP}e#E2-b~ZG`IwwB*_J{-c`{Pg%V6{I! zD^uoEjwB%{*jPWgUHbjeGq)^#OfT!*P*8VPMLyI{X*r ztUbLyIn6lV5{ss3;C+AhuX!?i0>?XwN(nY5b8}P_5`5gXUUfMNoZqc@wJmLJU2QaV zmf^VDM6Pz{aMc{KFPhf$&9w?Y>t#%sY_xie?}vet6SZG?y`KdAKc*y<3YSwsTor!F ziO=a&S`deE&7IsJVg$VL`uk-h^|!noUJu=IBcD&NF(Y(vh^^AlaVQ$r)!7O50sMC5 z8L*QS$d*qz6}zTZ>d&L{>zC+>=uK&_L^(xg@i#RUsCF4s@5#!dHoBoAIU1=>4KIz0 zhsK25D9eUd_q?MAwI@!K)g5e4?j$-4Ps%gisEW~BQXXt*!VANCR5|h{j=%HGf9d)e%;bM3|g$u>|w% zqbE0hLjAKWLZ#$Vb!;Uq7Rh$+L{%zlF;MJ@Uc0sVoC$Zk-;%%SiZ81};3G*XS&@ke z)O#=A6e#eh6|Tz#yw9VEtu`%g%X|9Z8wGAi)40cm4o!~>H~9R3Zd}k>p~?Z*7OJFmJmv#+oFr|=hJ7TsXEwzf)+HM9ch!(5FA@$Oci zS$!CCrFexntA7l0y?>Lm(lJzNwJu~Hhq6TO5AA6c2slN0j>X64P8_~YY*yow;NcPM z&fBbKmorjVl|x}Cos&=j&t`>uRh>_=`k955?#+LG$CkvniwNZ%5ynbe-XMBM7(c4a>v@>+?-h5*0(y}y{40W z-qUYIYPiO#9M`5a+N>R2F?)1#Giq{U^5M4qu #+{mjXYtMf)d6&i^s$0kz%b+t9 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 oH4!2~45?kO#1U|`hsba4!+nDge=Za*eQ5!Z{3 z%avTXeK#C9^#8w(uE|Hi2@#1C4(R1JEmi0A4#AB&$&tr4^+=OnSpi3D#@y%6X8G+22WQ%mvv4FO#nL}mDd0O diff --git a/test/components/navigation/navigation.axe.js b/test/components/navigation/navigation.axe.js index a1528b20..798a5699 100644 --- a/test/components/navigation/navigation.axe.js +++ b/test/components/navigation/navigation.axe.js @@ -2,7 +2,6 @@ import '../../../src/components/navigation/navigation.js'; import '../../../src/components/navigation/navigation-band.js'; import '../../../src/components/navigation/navigation-main-header.js'; import '../../../src/components/navigation/navigation-main-footer.js'; -import '../../../src/components/navigation/navigation-separator.js'; import { expect, fixture, html } from '@brightspace-ui/testing'; describe('d2l-labs-navigation', () => { @@ -53,14 +52,3 @@ describe('d2l-labs-navigation-main-footer', () => { }); }); - -describe('d2l-labs-navigation-separator', () => { - - describe('accessibility', () => { - it('should pass all aXe tests', async() => { - const el = await fixture(html``); - await expect(el).to.be.accessible(); - }); - }); - -}); diff --git a/test/components/navigation/navigation.test.js b/test/components/navigation/navigation.test.js index aaf02bc1..d496593a 100644 --- a/test/components/navigation/navigation.test.js +++ b/test/components/navigation/navigation.test.js @@ -2,7 +2,6 @@ import '../../../src/components/navigation/navigation.js'; import '../../../src/components/navigation/navigation-band.js'; import '../../../src/components/navigation/navigation-main-header.js'; import '../../../src/components/navigation/navigation-main-footer.js'; -import '../../../src/components/navigation/navigation-separator.js'; import { expect, fixture, html, runConstructor } from '@brightspace-ui/testing'; describe('d2l-labs-navigation', () => { @@ -71,13 +70,3 @@ describe('d2l-labs-navigation-main-footer', () => { }); }); - -describe('d2l-labs-navigation-separator', () => { - - describe('constructor', () => { - it('should construct', () => { - runConstructor('d2l-labs-navigation-separator'); - }); - }); - -}); diff --git a/test/components/navigation/navigation.vdiff.js b/test/components/navigation/navigation.vdiff.js index bdeb7987..ea8bfe28 100644 --- a/test/components/navigation/navigation.vdiff.js +++ b/test/components/navigation/navigation.vdiff.js @@ -1,6 +1,5 @@ import '../../../src/components/navigation/navigation.js'; import '../../../src/components/navigation/navigation-band.js'; -import '../../../src/components/navigation/navigation-separator.js'; import '../../../src/components/navigation/navigation-main-header.js'; import '../../../src/components/navigation/navigation-main-footer.js'; import { expect, fixture, focusElem, html } from '@brightspace-ui/testing'; @@ -12,7 +11,6 @@ describe('d2l-labs-navigation', () => { [ { name: 'band-default', template: html`` }, { name: 'band-custom-color', template: html`` }, - { name: 'separator', template: html`` }, { name: 'main-footer', template: html`
    Footer
    ` }, { name: 'navigation-default', template: navigationDefaultFixture }, { @@ -49,7 +47,7 @@ describe('d2l-labs-navigation', () => { it('skip-nav', async() => { const elem = await fixture(navigationDefaultFixture); - await focusElem(elem.shadowRoot.querySelector('d2l-labs-navigation-skip-main')); + await focusElem(elem.shadowRoot.querySelector('d2l-skip-nav-main')); await expect(elem).to.be.golden(); }); diff --git a/test/components/navigation/skip-main.axe.js b/test/components/navigation/skip-main.axe.js deleted file mode 100644 index 885a04b2..00000000 --- a/test/components/navigation/skip-main.axe.js +++ /dev/null @@ -1,12 +0,0 @@ -import '../../../src/components/navigation/navigation-skip-main.js'; -import { expect, fixture, html } from '@brightspace-ui/testing'; - -describe('d2l-labs-navigation-skip-main', () => { - - describe('accessibility', () => { - it('should pass all aXe tests', async() => { - const el = await fixture(html``); - await expect(el).to.be.accessible(); - }); - });; -}); diff --git a/test/components/navigation/skip-main.test.js b/test/components/navigation/skip-main.test.js deleted file mode 100644 index dc6aec54..00000000 --- a/test/components/navigation/skip-main.test.js +++ /dev/null @@ -1,91 +0,0 @@ -import '../../../src/components/navigation/navigation-skip-main.js'; -import { clickElem, expect, fixture, focusElem, html, oneEvent, sendKeysElem } from '@brightspace-ui/testing'; -import { getComposedActiveElement } from '@brightspace-ui/core/helpers/focus.js'; - -const mainFixture = html``; - -function getAnchor(elem) { - return elem.shadowRoot.querySelector('d2l-labs-navigation-skip').shadowRoot.querySelector('a'); -} - -describe('d2l-labs-navigation-skip-main', () => { - - describe('events', () => { - - let elem, anchor; - beforeEach(async() => { - elem = await fixture(mainFixture); - anchor = getAnchor(elem); - }); - - it('should fire click event when clicked with mouse', async() => { - const p = oneEvent(elem, 'click'); - await focusElem(anchor); - clickElem(anchor); - await p; - }); - - it('should fire click event when ENTER is pressed', async() => { - const p = oneEvent(elem, 'click'); - sendKeysElem(anchor, 'press', 'Enter'); - await p; - }); - - it('should delegate focus to anchor', async() => { - await focusElem(elem); - expect(getComposedActiveElement()).to.equal(anchor); - }); - - }); - - describe('skip logic', () => { - - it('should focus on main element if present', async() => { - const elem = await fixture(html` -
    - ${mainFixture} -
    main1
    -
    main2
    -

    heading

    -
    - `); - const anchor = getAnchor(elem.querySelector('d2l-labs-navigation-skip-main')); - await sendKeysElem(anchor, 'press', 'Enter'); - expect(getComposedActiveElement()).to.equal(elem.querySelector('main')); - }); - - it('should focus on role="main" element if no main', async() => { - const elem = await fixture(html` -
    - ${mainFixture} -
    main2
    -

    heading

    -
    - `); - const anchor = getAnchor(elem.querySelector('d2l-labs-navigation-skip-main')); - await sendKeysElem(anchor, 'press', 'Enter'); - expect(getComposedActiveElement()).to.equal(elem.querySelector('[role="main"]')); - }); - - it('should focus on h1 element if no main or role="main"', async() => { - const elem = await fixture(html` -
    - ${mainFixture} -

    heading

    -
    - `); - const anchor = getAnchor(elem.querySelector('d2l-labs-navigation-skip-main')); - await sendKeysElem(anchor, 'press', 'Enter'); - expect(getComposedActiveElement()).to.equal(elem.querySelector('h1')); - }); - - it('should dispatch "d2l-labs-navigation-skip-fail" event if no focus targets are found', async() => { - const elem = await fixture(mainFixture); - const anchor = getAnchor(elem); - sendKeysElem(anchor, 'press', 'Enter'); - await oneEvent(elem, 'd2l-labs-navigation-skip-fail'); - }); - - }); - -}); diff --git a/test/components/navigation/skip-main.vdiff.js b/test/components/navigation/skip-main.vdiff.js deleted file mode 100644 index af12da0e..00000000 --- a/test/components/navigation/skip-main.vdiff.js +++ /dev/null @@ -1,24 +0,0 @@ -import '../../../src/components/navigation/navigation-skip-main.js'; -import { expect, fixture, focusElem, html } from '@brightspace-ui/testing'; - -const mainFixture = html` -
    - -
    -

    Heading

    -

    Some content

    -
    -
    -`; - -describe('d2l-labs-navigation-skip-main', () => { - - ['en', 'ar'].forEach(lang => { - it(lang, async() => { - const elem = await fixture(mainFixture, { lang }); - await focusElem(elem.querySelector('d2l-labs-navigation-skip-main')); - await expect(elem).to.be.golden(); - }); - }); - -}); diff --git a/test/components/navigation/skip.axe.js b/test/components/navigation/skip.axe.js deleted file mode 100644 index 4e930a8a..00000000 --- a/test/components/navigation/skip.axe.js +++ /dev/null @@ -1,16 +0,0 @@ -import '../../../src/components/navigation/navigation-skip.js'; -import { expect, fixture, focusElem, html } from '@brightspace-ui/testing';const customFixture = html``; - -describe('d2l-labs-navigation-skip', () => { - - describe('accessibility', () => { - - it('should pass all aXe tests', async() => { - const elem = await fixture(customFixture); - await focusElem(elem); - await expect(elem).to.be.accessible(); - }); - - }); - -}); diff --git a/test/components/navigation/skip.test.js b/test/components/navigation/skip.test.js deleted file mode 100644 index 7fba9e67..00000000 --- a/test/components/navigation/skip.test.js +++ /dev/null @@ -1,44 +0,0 @@ -import '../../../src/components/navigation/navigation-skip.js'; -import { clickElem, expect, fixture, focusElem, html, oneEvent, sendKeysElem } from '@brightspace-ui/testing'; -import { createMessage } from '@brightspace-ui/core/mixins/property-required/property-required-mixin.js'; -import { getComposedActiveElement } from '@brightspace-ui/core/helpers/focus.js'; - -const customFixture = html``; - -describe('d2l-labs-navigation-skip', () => { - - it('should throw if text is not provided', async() => { - const elem = await fixture(html``); - expect(() => elem.flushRequiredPropertyErrors()) - .to.throw(TypeError, createMessage(elem, 'text')); - }); - - describe('events', () => { - - let elem, anchor; - beforeEach(async() => { - elem = await fixture(customFixture); - anchor = elem.shadowRoot.querySelector('a'); - }); - - it('should fire click event when clicked with mouse', async() => { - const p = oneEvent(elem, 'click'); - await focusElem(anchor); - clickElem(anchor); - await p; - }); - - it('should fire click event when ENTER is pressed', async() => { - const p = oneEvent(elem, 'click'); - sendKeysElem(anchor, 'press', 'Enter'); - await p; - }); - - it('should delegate focus to anchor', async() => { - await focusElem(elem); - expect(getComposedActiveElement()).to.equal(anchor); - }); - - }); - -}); diff --git a/test/components/navigation/skip.vdiff.js b/test/components/navigation/skip.vdiff.js deleted file mode 100644 index 4ae830b2..00000000 --- a/test/components/navigation/skip.vdiff.js +++ /dev/null @@ -1,17 +0,0 @@ -import '../../../src/components/navigation/navigation-skip.js'; -import { expect, fixture, focusElem, html } from '@brightspace-ui/testing'; - -describe('d2l-labs-navigation-skip', () => { - - it('focus', async() => { - const elem = await fixture(html` -
    - -

    Some content

    -
    - `); - await focusElem(elem.querySelector('d2l-labs-navigation-skip')); - await expect(elem).to.be.golden(); - }); - -});