diff --git a/modules/backend/assets/css/october.css b/modules/backend/assets/css/october.css
index f995f7ae2..cc2084d48 100644
--- a/modules/backend/assets/css/october.css
+++ b/modules/backend/assets/css/october.css
@@ -653,6 +653,8 @@ body.slim-container .layout .layout-container {padding-left:0 !important;padding
.flex-layout-item.center {-webkit-align-self:center;-moz-align-self:center;-ms-align-self:center;align-self:center}
.flex-layout-item.relative {position:relative}
.flex-layout-item.layout-container {max-width:none}
+.js-focus-visible :focus:not(.focus-ring) {outline:none}
+.js-focus-visible .focus-visible {border:.0625rem solid #3578E5;-webkit-box-shadow:0 0 .1875rem .125rem #3578E5;box-shadow:0 0 .1875rem .125rem #3578E5;z-index:1;position:relative}
body.mainmenu-open {overflow:hidden;position:fixed}
.mainmenu-tooltip .tooltip-inner {font-size:13px;padding:6px 16px}
ul.mainmenu-nav {font-size:14px}
diff --git a/modules/backend/assets/js/backend.js b/modules/backend/assets/js/backend.js
index d21803df7..4732a7657 100644
--- a/modules/backend/assets/js/backend.js
+++ b/modules/backend/assets/js/backend.js
@@ -235,4 +235,4 @@ if (!!window.MSInputMethodContext && !!document.documentMode) {
$(window).height() - $('#layout-mainmenu').height()
))
}
-}
+}
\ No newline at end of file
diff --git a/modules/backend/assets/js/october.tabformexpandcontrols.js b/modules/backend/assets/js/october.tabformexpandcontrols.js
index 499886966..7068cb3bb 100644
--- a/modules/backend/assets/js/october.tabformexpandcontrols.js
+++ b/modules/backend/assets/js/october.tabformexpandcontrols.js
@@ -160,4 +160,93 @@
}
$.oc.tabFormExpandControls = TabFormExpandControls
-}(window.jQuery);
\ No newline at end of file
+
+}(window.jQuery);
+
+/*
+ * Auto update WAI-ARIA when a user updates the tabs
+ */
+$(document).ready(function() {
+
+ /* Update wai-aria on navigation */
+ $('body').on('click keydown', '.master-tabs a[role="tab"],.primary-tabs a[role="tab"],.secondary-tabs a[role="tab"],.content-tabs a[role="tab"]', function(event) {
+
+ /*
+ * Tab - Move forwards
+ * Shift and Tab - Move backwards
+ * Enter - Select that tab (PC)
+ * Space bar - Select that tab (MAC)
+ * Home - First tab
+ * End - Last tab
+ * Arrow Keys - Scroll through the tabs
+ */
+ var whitelist = [
+ 'ArrowLeft',
+ 'ArrowUp',
+ 'ArrowDown',
+ 'ArrowRight',
+ 'Home',
+ 'End',
+ 'Tab',
+ 'Shift',
+ 'Enter',
+ '(Space character)',
+ 'Spacebar',
+ ' '
+ ];
+ if ((event.shiftKey && event.key === 'Tab') || (event.type === 'keydown' && !whitelist.includes(event.key))) {
+ return;
+ }
+
+ var $target = $(event.currentTarget);
+ var tabName = '';
+ var tabPanel = $target.attr('data-target');
+
+ if ($target.closest('.master-tabs').length) {
+ tabName = '.master-tabs';
+ } else if ($target.closest('.primary-tabs').length) {
+ tabName = '.primary-tabs';
+ } else if ($target.closest('.secondary-tabs').length) {
+ tabName = '.secondary-tabs';
+ } else if ($target.closest('.content-tabs').length) {
+ tabName = '.content-tabs';
+ }
+
+ // Set all tabs to false
+ $(tabName + ' a').attr('aria-selected', 'false');
+ // Set all tab panels to hidden
+ $(tabName + ' div.tab-pane').attr('hidden', 'hidden');
+
+ // Add wai-aria selected on the active tab
+ $target.attr('aria-selected', 'true');
+ // Remove hidden attribute on active tab panel
+ $(tabPanel).attr('hidden', false);
+
+ var strikeUpOrRightTab = event.key === 'ArrowLeft' || event.key === 'ArrowUp';
+ var strikeDownOrLeftTab = event.key === 'ArrowDown' || event.key === 'ArrowRight';
+ if (strikeUpOrRightTab || strikeDownOrLeftTab) {
+ event.preventDefault();
+
+ var position = strikeUpOrRightTab ? 'first-child' : 'last-child';
+ var $activated = $(tabName + ' a[aria-selected="true"]').parent();
+ if ($activated.is(tabName + ' li:' + position)) {
+ $(tabName + ' li:' + position + ' a').click().focus();
+ } else {
+ // else activate previous
+ $activated.prev().children(tabName + ' a').click().focus();
+ }
+ } else if (event.key === 'Home') {
+ event.preventDefault();
+
+ $(tabName + ' li ' + ' a').first().click().focus();
+ } else if (event.key === 'End') {
+ event.preventDefault();
+
+ $(tabName + ' li ' + ' a').end().click().focus();
+ }
+
+ // Important - Must be set to true for October to set class="active" in the
+ return true;
+ });
+
+});
\ No newline at end of file
diff --git a/modules/backend/assets/less/layout/mainmenu.less b/modules/backend/assets/less/layout/mainmenu.less
index 27b125c35..339fc2ac5 100644
--- a/modules/backend/assets/less/layout/mainmenu.less
+++ b/modules/backend/assets/less/layout/mainmenu.less
@@ -11,6 +11,25 @@
@mainmenu-tile-label-height: 20px;
@mainmenu-tile-label-width: 100px;
+//
+// Focus Ring Support for accessibility
+//
+
+.js-focus-visible {
+ &:focus {
+ &:not(.focus-visible) {
+ outline: none;
+ }
+ }
+ .focus-visible {
+ border: .0625rem solid #3578E5;
+ -webkit-box-shadow: 0 0 .1875rem .125rem #3578E5;
+ box-shadow: 0 0 .1875rem .125rem #3578E5;
+ z-index: 1;
+ position: relative;
+ }
+}
+
body.mainmenu-open {
overflow: hidden;
position: fixed;
diff --git a/modules/backend/lang/ar/lang.php b/modules/backend/lang/ar/lang.php
index 86a224b7d..c1278a7cd 100644
--- a/modules/backend/lang/ar/lang.php
+++ b/modules/backend/lang/ar/lang.php
@@ -4,6 +4,13 @@ return [
'auth' => [
'title' => 'لوحة الإدارة'
],
+ 'aria-label' => [
+ 'footer' => 'تذييل',
+ 'side_panel' => 'لوحة جانبية',
+ 'breadcrumb' => 'التفصيلي',
+ 'main_content' => 'المجال الرئيسي',
+ 'tabs' => 'علامات التبويب',
+ ],
'page' => [
'access_denied' => [
'label' => 'ممنوع الوصول',
diff --git a/modules/backend/lang/be/lang.php b/modules/backend/lang/be/lang.php
index 8b76dc9ce..8fffcd2e0 100644
--- a/modules/backend/lang/be/lang.php
+++ b/modules/backend/lang/be/lang.php
@@ -4,6 +4,13 @@ return [
'auth' => [
'title' => "Панэль кіравання"
],
+ 'aria-label' => [
+ 'footer' => 'ніжні колер',
+ 'side_panel' => 'бакавая панэль',
+ 'breadcrumb' => 'сухар',
+ 'main_content' => 'Асноўная плошча',
+ 'tabs' => 'ўкладкі',
+ ],
'field' => [
'invalid_type' => "Выкарыстаны няправільны тып поля: \":type\"",
'options_method_invalid_model' => "Для атрыбуту \":field\" не была знойздена адпаведная мадэль. Паспрабуйце яўна вызначыць метад опцый для мадэлі \":model\"",
diff --git a/modules/backend/lang/bg/lang.php b/modules/backend/lang/bg/lang.php
index 308d875a9..983386964 100644
--- a/modules/backend/lang/bg/lang.php
+++ b/modules/backend/lang/bg/lang.php
@@ -4,6 +4,13 @@ return [
'auth' => [
'title' => 'Администраторски Панел'
],
+ 'aria-label' => [
+ 'footer' => 'долния',
+ 'side_panel' => 'страничен панел',
+ 'breadcrumb' => 'галета',
+ 'main_content' => 'основната зона',
+ 'tabs' => 'разделите',
+ ],
'field' => [
'invalid_type' => 'Използвано невалиден тип поле :type.',
'options_method_not_exists' => "Моделът клас :model трябва да се определя метод :method() връщайки настройки за ':field' поле."
diff --git a/modules/backend/lang/ca/lang.php b/modules/backend/lang/ca/lang.php
index 7cfbaf269..071a14926 100644
--- a/modules/backend/lang/ca/lang.php
+++ b/modules/backend/lang/ca/lang.php
@@ -5,6 +5,13 @@ return [
'title' => "Àrea d'Administració",
'invalid_login' => "Els detalls que has introduït no corresponen als nostres registres. Si us plau revisa'ls i torna-ho a intentar."
],
+ 'aria-label' => [
+ 'footer' => 'Peu de pàgina',
+ 'side_panel' => 'panell lateral',
+ 'breadcrumb' => 'Pa ratllat',
+ 'main_content' => 'àrea principal',
+ 'tabs' => 'pestanyes',
+ ],
'field' => [
'invalid_type' => 'El tipus de camp :type utilitzat és invàlid.',
'options_method_invalid_model' => "L'atribut ':field' no resol a un model vàlid. Intenta especificar explícitament el mètode d'opcions per la classe de model :model.",
diff --git a/modules/backend/lang/cs/lang.php b/modules/backend/lang/cs/lang.php
index a1b230f83..a75f43db8 100644
--- a/modules/backend/lang/cs/lang.php
+++ b/modules/backend/lang/cs/lang.php
@@ -4,6 +4,13 @@ return [
'auth' => [
'title' => 'Administrace'
],
+ 'aria-label' => [
+ 'footer' => 'zápatí',
+ 'side_panel' => 'boční panel',
+ 'breadcrumb' => 'strouhanka',
+ 'main_content' => 'hlavní oblasty',
+ 'tabs' => 'karty',
+ ],
'field' => [
'invalid_type' => 'Byl použitý špatný typ :type.',
'options_method_invalid_model' => "Vlastnost ':field' neodpovídá platnému modelu. Zkuste specifikovat metodu voleb pro modelovou třídu :model explicitně.",
diff --git a/modules/backend/lang/da/lang.php b/modules/backend/lang/da/lang.php
index ca12b906c..04a01af6c 100644
--- a/modules/backend/lang/da/lang.php
+++ b/modules/backend/lang/da/lang.php
@@ -4,6 +4,13 @@ return [
'auth' => [
'title' => 'Administrationsområde'
],
+ 'aria-label' => [
+ 'footer' => 'sidefod',
+ 'side_panel' => 'sidepanel',
+ 'breadcrumb' => 'brødkrummer',
+ 'main_content' => 'hovedområdey',
+ 'tabs' => 'faner',
+ ],
'field' => [
'invalid_type' => 'Ugyldig felttype :type.',
'options_method_not_exists' => "Model klassen :model skal implementere :method() som returnerer valgmuligheder for feltet ':field'."
diff --git a/modules/backend/lang/de/lang.php b/modules/backend/lang/de/lang.php
index 5a170f868..7ea47071c 100644
--- a/modules/backend/lang/de/lang.php
+++ b/modules/backend/lang/de/lang.php
@@ -4,6 +4,13 @@ return [
'auth' => [
'title' => 'Admin-Bereich'
],
+ 'aria-label' => [
+ 'footer' => 'Fußzeile',
+ 'side_panel' => 'Seitenwand',
+ 'breadcrumb' => 'Semmelbrösel',
+ 'main_content' => 'Hauptbereich',
+ 'tabs' => 'Registerkarten auf',
+ ],
'field' => [
'invalid_type' => 'Ungültiger Feldtyp :type.',
'options_method_invalid_model' => 'Das Attribut ":field" löst sich nicht zu einen gültigen Model auf. Probiere die options Methode der Model-Klasse :model explicit zu definieren.',
@@ -94,7 +101,7 @@ return [
'request_log' => 'Request Log',
'app_birthday' => 'Online seit',
],
- 'welcome' => [
+ 'welcome' => [
'widget_title_default' => 'Willkommen',
'welcome_back_name' => 'Willkommen zurück zu :app, :name.',
'welcome_to_name' => 'Willkommen zu :app, :name.',
@@ -134,7 +141,7 @@ return [
'activated' => 'Aktiviert',
'last_login' => 'Letzer login',
'created_at' => 'Erstellt am',
- 'updated_at' => 'Aktualisiert am',
+ 'updated_at' => 'Aktualisiert am',
'group' => [
'name' => 'Gruppe',
'name_comment' => 'Der Name, der angezeigt wird wenn name is displayed in the group list on the Create/Edit Administrator form.',
@@ -262,7 +269,7 @@ return [
'pagelist' => [
'page_link' => 'Seitenlink',
'select_page' => 'Wähle eine Seite...'
- ],
+ ],
'relation' => [
'missing_config' => "Verhalten (behaviour) der Verbindung hat keine Konfiguration für ':config'.",
'missing_definition' => "Verhalten (behaviour) der Verbindung umfasst keine Definition für ':field'.",
diff --git a/modules/backend/lang/el/lang.php b/modules/backend/lang/el/lang.php
index ac89c3af7..a82ac256a 100644
--- a/modules/backend/lang/el/lang.php
+++ b/modules/backend/lang/el/lang.php
@@ -4,6 +4,13 @@ return [
'auth' => [
'title' => 'Περιοχή Διαχείρισης',
],
+ 'aria-label' => [
+ 'footer' => 'υποσέλιδα',
+ 'side_panel' => 'πλευρά',
+ 'breadcrumb' => 'τριμμένη φρυγανιά',
+ 'main_content' => 'κύρια περιοχή',
+ 'tabs' => 'καρτέλες',
+ ],
'field' => [
'invalid_type' => 'Χρησιμοποιήθηκε μη έγκυρος τύπος πεδίου :type.',
'options_method_not_exists' => "H κλάση του μοντέλου πρέπει να καθορίζει μια μέθοδο :method() επιστροφής επίλογων για το πεδίο ':field'",
diff --git a/modules/backend/lang/en/lang.php b/modules/backend/lang/en/lang.php
index f0795a2b1..0aeb219dd 100644
--- a/modules/backend/lang/en/lang.php
+++ b/modules/backend/lang/en/lang.php
@@ -5,6 +5,13 @@ return [
'title' => 'Administration Area',
'invalid_login' => 'The details you entered did not match our records. Please double-check and try again.'
],
+ 'aria-label' => [
+ 'footer' => 'Footer Section',
+ 'side_panel' => 'Side panel',
+ 'breadcrumb' => 'Breadcrumb Navigation',
+ 'main_content' => 'Main Content Body',
+ 'tabs' => 'Tabs',
+ ],
'field' => [
'invalid_type' => 'Invalid field type used :type.',
'options_method_invalid_model' => "The attribute ':field' does not resolve to a valid model. Try specifying the options method for model class :model explicitly.",
diff --git a/modules/backend/lang/es-ar/lang.php b/modules/backend/lang/es-ar/lang.php
index 1bab0ad4a..98f52e323 100644
--- a/modules/backend/lang/es-ar/lang.php
+++ b/modules/backend/lang/es-ar/lang.php
@@ -1,6 +1,13 @@
[
+ 'footer' => 'pie de página',
+ 'side_panel' => 'panel lateral',
+ 'breadcrumb' => 'migaja de pan',
+ 'main_content' => 'área principal',
+ 'tabs' => 'pestañas',
+ ],
'field' => [
'invalid_type' => 'El tipo de campo utilizado es inválido :type.',
'options_method_not_exists' => 'La clase del modelo :model debe definir un método :method() que devuelva opciones para el campo ":field".',
diff --git a/modules/backend/lang/es/lang.php b/modules/backend/lang/es/lang.php
index 435b3d4c2..103d42297 100644
--- a/modules/backend/lang/es/lang.php
+++ b/modules/backend/lang/es/lang.php
@@ -4,6 +4,13 @@ return [
'auth' => [
'title' => 'Area de Administración'
],
+ 'aria-label' => [
+ 'footer' => 'pie de página',
+ 'side_panel' => 'panel lateral',
+ 'breadcrumb' => 'migaja de pan',
+ 'main_content' => 'área principal',
+ 'tabs' => 'pestañas',
+ ],
'field' => [
'invalid_type' => 'El tipo de campo utilizado es inválido :type.',
'options_method_not_exists' => 'El modelo clase: model debe definir un método: method() opciones recurrentes para el ":field" desde campo.'
diff --git a/modules/backend/lang/et/lang.php b/modules/backend/lang/et/lang.php
index 9d1e0795c..091d8b113 100644
--- a/modules/backend/lang/et/lang.php
+++ b/modules/backend/lang/et/lang.php
@@ -4,6 +4,13 @@ return [
'auth' => [
'title' => 'Haldusliides'
],
+ 'aria-label' => [
+ 'footer' => 'jalus',
+ 'side_panel' => 'kõrvalpaneel',
+ 'breadcrumb' => 'riivsai',
+ 'main_content' => 'peamine ala',
+ 'tabs' => 'vahekaardid',
+ ],
'field' => [
'invalid_type' => 'Välja tüüpi :type pole olemas.',
'options_method_invalid_model' => "Atribuut ':field' ei vasta ühelegi olemasolevale andmemudelile. Palun defineeri valikväärtuste funktioon :model andmemudelis.",
diff --git a/modules/backend/lang/fa/lang.php b/modules/backend/lang/fa/lang.php
index e8c5f005a..68e249c11 100644
--- a/modules/backend/lang/fa/lang.php
+++ b/modules/backend/lang/fa/lang.php
@@ -4,6 +4,13 @@ return [
'auth' => [
'title' => 'بخش مدیریت',
],
+ 'aria-label' => [
+ 'footer' => 'پاورقی',
+ 'side_panel' => 'پنل کناری',
+ 'breadcrumb' => 'پودرهای سوخاری',
+ 'main_content' => 'منطقه اصلی',
+ 'tabs' => 'زبانه ها',
+ ],
'field' => [
'invalid_type' => 'نوع فیلد :type نا معتبر می باشد.',
'options_method_invalid_model' => "خصیصه ':field' به مدل معتبری اشاره نمی کند. گزینه مورد نظر را در مدل :model ایجاد نمایید.",
diff --git a/modules/backend/lang/fi/lang.php b/modules/backend/lang/fi/lang.php
index a2739683f..5312424b0 100644
--- a/modules/backend/lang/fi/lang.php
+++ b/modules/backend/lang/fi/lang.php
@@ -4,6 +4,13 @@ return [
'auth' => [
'title' => 'Ylläpitoalue'
],
+ 'aria-label' => [
+ 'footer' => 'alatunniste',
+ 'side_panel' => 'sivupaneeli',
+ 'breadcrumb' => 'leivänmuru',
+ 'main_content' => 'pääalue',
+ 'tabs' => 'välilehdet',
+ ],
'field' => [
'invalid_type' => 'Kentän tyyppi :type ei ole sallittu.',
'options_method_invalid_model' => "Attribuutti ':field' ratkaise kelvollista mallia. Spesifioit vaihtoehtoinen metodi mallille :model explisiittisesti.",
diff --git a/modules/backend/lang/fr/lang.php b/modules/backend/lang/fr/lang.php
index 30bd7473c..f446f9ab1 100644
--- a/modules/backend/lang/fr/lang.php
+++ b/modules/backend/lang/fr/lang.php
@@ -5,6 +5,13 @@ return [
'title' => 'Zone d’administration',
'invalid_login' => 'L\'utilisateur saisie ne correspond à aucun utilisateur enregistré. Merci de vérifier votre saisie et de réessayer.'
],
+ 'aria-label' => [
+ 'footer' => 'bas de page',
+ 'side_panel' => 'panneau latéral',
+ 'breadcrumb' => 'miette de pain',
+ 'main_content' => 'Zone principale',
+ 'tabs' => 'onglets',
+ ],
'field' => [
'invalid_type' => 'Type de champ invalide :type.',
'options_method_invalid_model' => "L’attribut ':field' ne correspond à aucun modèle valide. Essayez de spécifier explicitement la méthode d’options pour la classe du modèle ':model'.",
diff --git a/modules/backend/lang/hu/lang.php b/modules/backend/lang/hu/lang.php
index 407759a20..b75a46194 100644
--- a/modules/backend/lang/hu/lang.php
+++ b/modules/backend/lang/hu/lang.php
@@ -5,6 +5,13 @@ return [
'title' => 'Admin felület',
'invalid_login' => 'A megadott adatok nem egyeznek. Kérjük ellenőrizze őket és próbálja újra.'
],
+ 'aria-label' => [
+ 'footer' => 'Lábjegyzet',
+ 'side_panel' => 'oldalsó panel',
+ 'breadcrumb' => 'kenyérmorzsa',
+ 'main_content' => 'fő terület',
+ 'tabs' => 'lap',
+ ],
'field' => [
'invalid_type' => 'A(z) :type mezőtípus érvénytelen.',
'options_method_invalid_model' => "A(z) ':field' tulajdonság nem passzol a modellhez. Próbálja meghatározni a beállítást, ami megfelelő a(z) :model osztály számára.",
diff --git a/modules/backend/lang/id/lang.php b/modules/backend/lang/id/lang.php
index 26a81cd14..bd008b47f 100644
--- a/modules/backend/lang/id/lang.php
+++ b/modules/backend/lang/id/lang.php
@@ -4,6 +4,13 @@ return [
'auth' => [
'title' => 'Area Administrasi'
],
+ 'aria-label' => [
+ 'footer' => 'menu footer',
+ 'side_panel' => 'panel samping',
+ 'breadcrumb' => 'remah roti',
+ 'main_content' => 'area utama',
+ 'tabs' => 'tab',
+ ],
'field' => [
'invalid_type' => 'Jenis medan tidak valid digunakan :type.',
'options_method_not_exists' => "Kelas model :model harus menentukan metode :method() yang mengembalikan opsi untuk borang medan ':field'."
diff --git a/modules/backend/lang/it/lang.php b/modules/backend/lang/it/lang.php
index a84633195..24f87a4ba 100644
--- a/modules/backend/lang/it/lang.php
+++ b/modules/backend/lang/it/lang.php
@@ -4,6 +4,13 @@ return [
'auth' => [
'title' => 'Area di Amministrazione'
],
+ 'aria-label' => [
+ 'footer' => 'menu a piè di pagina',
+ 'side_panel' => 'pannello laterale',
+ 'breadcrumb' => 'elenco dei breadcrumb',
+ 'main_content' => 'area principale',
+ 'tabs' => 'schede',
+ ],
'field' => [
'invalid_type' => 'Il tipo di campo :type non è valido.',
'options_method_not_exists' => 'La classe :model deve definire un metodo :method() che ritorni le opzioni per il campo ":field".'
diff --git a/modules/backend/lang/ja/lang.php b/modules/backend/lang/ja/lang.php
index e67ec5a8a..574308354 100644
--- a/modules/backend/lang/ja/lang.php
+++ b/modules/backend/lang/ja/lang.php
@@ -4,6 +4,13 @@ return [
'auth' => [
'title' => 'システム管理者領域'
],
+ 'aria-label' => [
+ 'footer' => 'フッター',
+ 'side_panel' => 'サイドパネル',
+ 'breadcrumb' => 'パン粉',
+ 'main_content' => 'メインエリア',
+ 'tabs' => 'タブ',
+ ],
'field' => [
'invalid_type' => '無効なフィールドタイプ :type が使用されています。',
'options_method_not_exists' => 'モデルクラスの:modelは、":field"フォームフィールドのためにオプションを返す、:method()メソッドを定義しなくてはなりません。',
diff --git a/modules/backend/lang/kr/lang.php b/modules/backend/lang/kr/lang.php
index e18099611..7a525e182 100644
--- a/modules/backend/lang/kr/lang.php
+++ b/modules/backend/lang/kr/lang.php
@@ -4,6 +4,13 @@ return [
'auth' => [
'title' => '시스템관리자영역'
],
+ 'aria-label' => [
+ 'footer' => '보행인',
+ 'side_panel' => '측면 패널',
+ 'breadcrumb' => '빵 부스러기 흔적',
+ 'main_content' => '주요 지역',
+ 'tabs' => '탭',
+ ],
'field' => [
'invalid_type' => '유효하지 않은 필드타입 사용 :type ',
'options_method_invalid_model' => "':field' 속성은 리졸브 될 수 없습니다. :model 모델 클래스의 특정 옵션 메소드를 명시적으로 사용해 보세요.",
diff --git a/modules/backend/lang/lt/lang.php b/modules/backend/lang/lt/lang.php
index 94ad6c446..b0412ac66 100644
--- a/modules/backend/lang/lt/lang.php
+++ b/modules/backend/lang/lt/lang.php
@@ -4,6 +4,13 @@ return [
'auth' => [
'title' => 'Administracijos zona'
],
+ 'aria-label' => [
+ 'footer' => 'poraštė',
+ 'side_panel' => 'šoninis skydas',
+ 'breadcrumb' => 'kirtimo takas',
+ 'main_content' => 'pagrindinė sritis',
+ 'tabs' => 'skirtukus',
+ ],
'field' => [
'invalid_type' => 'Netinkamas laukelio tipas :type.',
'options_method_invalid_model' => "Artributas ':field' nenuskaito tinkamo modelio. Bandykite nurodyti parinkties metodą išskirtinai modelio klasei :model",
diff --git a/modules/backend/lang/lv/lang.php b/modules/backend/lang/lv/lang.php
index 6342a91bd..60cc21336 100644
--- a/modules/backend/lang/lv/lang.php
+++ b/modules/backend/lang/lv/lang.php
@@ -4,6 +4,13 @@ return [
'auth' => [
'title' => 'Administrācijas vide'
],
+ 'aria-label' => [
+ 'footer' => 'kājene',
+ 'side_panel' => 'sānu panelis',
+ 'breadcrumb' => 'maizes taku',
+ 'main_content' => 'galvenā joma',
+ 'tabs' => 'cilnes',
+ ],
'field' => [
'invalid_type' => 'Nederīgs lauka tips :type.',
'options_method_not_exists' => "Moduļa klasei :model jādefinē metodi :method() atgrieztās vērtības ':field' formas laukam."
diff --git a/modules/backend/lang/nb-no/lang.php b/modules/backend/lang/nb-no/lang.php
index 47f8d2009..abc55ef29 100644
--- a/modules/backend/lang/nb-no/lang.php
+++ b/modules/backend/lang/nb-no/lang.php
@@ -4,6 +4,13 @@ return [
'auth' => [
'title' => 'Administrasjonsområde'
],
+ 'aria-label' => [
+ 'footer' => 'bunntekstmeny',
+ 'side_panel' => 'sidepanel',
+ 'breadcrumb' => 'breadcrumb sti',
+ 'main_content' => 'hovedområde',
+ 'tabs' => 'faner',
+ ],
'field' => [
'invalid_type' => 'Ugyldig felttype brukt :type.',
'options_method_not_exists' => "Modellklassen :model må definere en metode :method() som returnerer vilkår for formfeltet ':field'."
diff --git a/modules/backend/lang/nl/lang.php b/modules/backend/lang/nl/lang.php
index 3f52b7723..7674a59b7 100644
--- a/modules/backend/lang/nl/lang.php
+++ b/modules/backend/lang/nl/lang.php
@@ -5,6 +5,13 @@ return [
'title' => 'Beheeromgeving',
'invalid_login' => 'De ingevoerde gegevens leveren geen resultaat. Controleer je invoer en probeer het opnieuw.'
],
+ 'aria-label' => [
+ 'footer' => 'voettekst navigatie',
+ 'side_panel' => 'zijpaneel',
+ 'breadcrumb' => 'broodkruimel spoor',
+ 'main_content' => 'hoofdgebied',
+ 'tabs' => 'klikt op',
+ ],
'field' => [
'invalid_type' => 'Ongeldig type veld: :type.',
'options_method_invalid_model' => "Het attribuut ':field' levert geen geldig model op. Probeer de opties methode expliciet te specifieren voor modelklasse :model.",
diff --git a/modules/backend/lang/pl/lang.php b/modules/backend/lang/pl/lang.php
index 91fa42c7b..278bc6660 100644
--- a/modules/backend/lang/pl/lang.php
+++ b/modules/backend/lang/pl/lang.php
@@ -4,6 +4,13 @@ return [
'auth' => [
'title' => 'Panel Administracyjny',
],
+ 'aria-label' => [
+ 'footer' => 'stopka',
+ 'side_panel' => 'panel boczny',
+ 'breadcrumb' => 'szlak nawigacyjny',
+ 'main_content' => 'główna strefa',
+ 'tabs' => 'zakładki na',
+ ],
'field' => [
'invalid_type' => 'Użyto nieprawidłowego typu pola :type.',
'options_method_not_exists' => "Model :model musi definiować metodę :method() zwracając opcję z pola ':field' formularza.",
diff --git a/modules/backend/lang/pt-br/lang.php b/modules/backend/lang/pt-br/lang.php
index 2a9d2f240..ad2212e25 100644
--- a/modules/backend/lang/pt-br/lang.php
+++ b/modules/backend/lang/pt-br/lang.php
@@ -5,6 +5,13 @@ return [
'title' => 'Área Administrativa',
'invalid_login' => 'Os dados digitados não correspondem aos nossos registros. Por favor, verifique e tente novamente.'
],
+ 'aria-label' => [
+ 'footer' => 'Menu de Rodapé',
+ 'side_panel' => 'painel lateral',
+ 'breadcrumb' => 'trilha de migalhas',
+ 'main_content' => 'área principal',
+ 'tabs' => 'guias',
+ ],
'field' => [
'invalid_type' => 'Tipo de campo inválido :type.',
'options_method_invalid_model' => 'O atributo ":field" não resolve a classe. Tente especificar as opções do método para o modelo :model.',
diff --git a/modules/backend/lang/pt-pt/lang.php b/modules/backend/lang/pt-pt/lang.php
index 203d4edbb..d187c7ac1 100644
--- a/modules/backend/lang/pt-pt/lang.php
+++ b/modules/backend/lang/pt-pt/lang.php
@@ -4,6 +4,13 @@ return [
'auth' => [
'title' => 'Área Administrativa',
],
+ 'aria-label' => [
+ 'footer' => 'Menu de Rodapé',
+ 'side_panel' => 'painel lateral',
+ 'breadcrumb' => 'trilha de migalhas',
+ 'main_content' => 'área principal',
+ 'tabs' => 'guias',
+ ],
'field' => [
'invalid_type' => 'Invalid field type used :type.',
'options_method_invalid_model' => "O atributo ':field' não é resolvido para um modelo válidol. Tente especificar o método de opções para a classe de modelo :model explicitamente.",
diff --git a/modules/backend/lang/ro/lang.php b/modules/backend/lang/ro/lang.php
index 8728f30cb..93557271a 100644
--- a/modules/backend/lang/ro/lang.php
+++ b/modules/backend/lang/ro/lang.php
@@ -5,6 +5,13 @@ return [
'invalid_type' => 'Tipul campului folosit este invalid - :type.',
'options_method_not_exists' => 'Clasa model :model trebuie sa defineasca o metoda :method() returnand optiuni pentru campul ":field".',
],
+ 'aria-label' => [
+ 'footer' => 'subsol meniu',
+ 'side_panel' => 'panou lateral',
+ 'breadcrumb' => 'traseu de pescuit',
+ 'main_content' => 'zona principală',
+ 'tabs' => 'file',
+ ],
'widget' => [
'not_registered' => "Un nume de clasa de widget ':name' nu a fost inregistrat",
'not_bound' => "Un widget cu numele de clasa ':name' nu a fost mapat la controller",
diff --git a/modules/backend/lang/ru/lang.php b/modules/backend/lang/ru/lang.php
index 040c8fdd3..e782b4ddf 100644
--- a/modules/backend/lang/ru/lang.php
+++ b/modules/backend/lang/ru/lang.php
@@ -5,6 +5,13 @@ return [
'title' => 'Панель управления',
'invalid_login' => 'Вы ввели некорректные данные. Пожалуйста, перепроверьте их и попробуйте ещё раз.'
],
+ 'aria-label' => [
+ 'footer' => 'меню нижнего колонтитула',
+ 'side_panel' => 'боковая панель',
+ 'breadcrumb' => 'след крошки',
+ 'main_content' => 'основная площадь',
+ 'tabs' => 'вкладки',
+ ],
'field' => [
'invalid_type' => 'Использован неверный тип поля: :type.',
'options_method_invalid_model' => "The attribute ':field' does not resolve to a valid model. Try specifying the options method for model class :model explicitly.",
diff --git a/modules/backend/lang/sk/lang.php b/modules/backend/lang/sk/lang.php
index f2dd887d9..043be9652 100644
--- a/modules/backend/lang/sk/lang.php
+++ b/modules/backend/lang/sk/lang.php
@@ -4,6 +4,13 @@ return [
'auth' => [
'title' => 'Administrácia'
],
+ 'aria-label' => [
+ 'footer' => 'zápätie',
+ 'side_panel' => 'bočný panel',
+ 'breadcrumb' => 'chodník',
+ 'main_content' => 'oblasti',
+ 'tabs' => 'karty',
+ ],
'field' => [
'invalid_type' => 'Bol použitý zlý typ :type.',
'options_method_invalid_model' => "Vlastnosť ':field' nezodpovedá platnému modelu. Skúste špecifikovať metódu možností pre triedu modelu :model explicitne.",
diff --git a/modules/backend/lang/sv/lang.php b/modules/backend/lang/sv/lang.php
index c62992356..60d641647 100644
--- a/modules/backend/lang/sv/lang.php
+++ b/modules/backend/lang/sv/lang.php
@@ -4,6 +4,13 @@ return [
'auth' => [
'title' => 'Administrationsområde'
],
+ 'aria-label' => [
+ 'footer' => 'footer-menyn',
+ 'side_panel' => 'sidopanel',
+ 'breadcrumb' => 'breadcrumb trail',
+ 'main_content' => 'huvudområde',
+ 'tabs' => 'flikar',
+ ],
'field' => [
'invalid_type' => 'Felaktig fälttyp använd :type.',
'options_method_not_exists' => 'Modellklassen :model måste definera en metod :method() som returnerar villkor för formfältet ":field"',
diff --git a/modules/backend/lang/tr/lang.php b/modules/backend/lang/tr/lang.php
index 8c6101549..68d6bf3dd 100644
--- a/modules/backend/lang/tr/lang.php
+++ b/modules/backend/lang/tr/lang.php
@@ -5,6 +5,13 @@ return [
'title' => 'Yönetim Paneli',
'invalid_login' => 'Girdiğiniz bilgiler kayıtlarla eşleşmiyor. Lütfen kontrol edip tekrar deneyin.',
],
+ 'aria-label' => [
+ 'footer' => 'altbilgi menüsü',
+ 'side_panel' => 'yan panel',
+ 'breadcrumb' => 'kırıntı izi',
+ 'main_content' => 'ana alan',
+ 'tabs' => 'sekmeler',
+ ],
'field' => [
'invalid_type' => 'Geçersiz alan tipi :type.',
'options_method_invalid_model' => "':field' metodu, geçerli bir model ile eşleşmiyor. :model Model'i için options metodu tanımlamalısınız.",
diff --git a/modules/backend/lang/uk/lang.php b/modules/backend/lang/uk/lang.php
index 186e62d8c..ae4d28ed4 100644
--- a/modules/backend/lang/uk/lang.php
+++ b/modules/backend/lang/uk/lang.php
@@ -4,6 +4,13 @@ return [
'auth' => [
'title' => 'Зона адміністрування'
],
+ 'aria-label' => [
+ 'footer' => 'меню нижнього колонтитула',
+ 'side_panel' => 'бічну панель',
+ 'breadcrumb' => 'прохідна стежка',
+ 'main_content' => 'основний район',
+ 'tabs' => 'вкладки',
+ ],
'field' => [
'invalid_type' => 'Неправильний тип поля :type.',
'options_method_invalid_model' => "The attribute ':field' does not resolve to a valid model. Try specifying the options method for model class :model explicitly.",
diff --git a/modules/backend/lang/vn/lang.php b/modules/backend/lang/vn/lang.php
index 5b31171b4..c9d5c87cb 100644
--- a/modules/backend/lang/vn/lang.php
+++ b/modules/backend/lang/vn/lang.php
@@ -4,6 +4,13 @@ return [
'auth' => [
'title' => 'Khu vực quản trị'
],
+ 'aria-label' => [
+ 'footer' => 'menu chân trang',
+ 'side_panel' => 'bảng điều khiển bên',
+ 'breadcrumb' => 'đường mòn bánh mì',
+ 'main_content' => 'khu vực chính',
+ 'tabs' => 'tab',
+ ],
'field' => [
'invalid_type' => 'Loại Field không hợp lệ :type.',
'options_method_invalid_model' => "Thuộc tính ':field' không đưa ra được model hợp lệ. Hãy thử chỉ định phương pháp tùy chọn cho model :model một cách rõ ràng.",
diff --git a/modules/backend/lang/zh-cn/lang.php b/modules/backend/lang/zh-cn/lang.php
index 17bafd870..80da0761a 100644
--- a/modules/backend/lang/zh-cn/lang.php
+++ b/modules/backend/lang/zh-cn/lang.php
@@ -5,6 +5,13 @@ return [
'title' => '管理',
'invalid_login' => '无法匹配到您输入的相关内容,请检查后重试。'
],
+ 'aria-label' => [
+ 'footer' => '页脚菜单',
+ 'side_panel' => '侧板',
+ 'breadcrumb' => '面包屑踪迹',
+ 'main_content' => '主要区域',
+ 'tabs' => '标签',
+ ],
'field' => [
'invalid_type' => '不合法的字段类型 :type.',
'options_method_invalid_model' => "属性 ':field' 不能解析为有效模型. 请尝试为模型类:model指定一个可选方法.",
diff --git a/modules/backend/lang/zh-tw/lang.php b/modules/backend/lang/zh-tw/lang.php
index a2ef7075b..60603e00e 100644
--- a/modules/backend/lang/zh-tw/lang.php
+++ b/modules/backend/lang/zh-tw/lang.php
@@ -4,6 +4,13 @@ return [
'auth' => [
'title' => '管理介面'
],
+ 'aria-label' => [
+ 'footer' => '页脚菜单',
+ 'side_panel' => '侧板',
+ 'breadcrumb' => '面包屑踪迹',
+ 'main_content' => '主要区域',
+ 'tabs' => '标签',
+ ],
'field' => [
'invalid_type' => '錯誤的字串類型 :type',
'options_method_not_exists' => "模型 :model 必須定義一個返回 ':field' 表單字串選項的方法 :method()。"
@@ -306,7 +313,7 @@ return [
'label' => 'Media Finder',
'default_prompt' => 'Click the %s button to find a media item'
],
- 'media' => [
+ 'media' => [
'menu_label' => '媒體',
'upload' => '上傳',
'move' => '移動',
diff --git a/modules/backend/layouts/_footer.htm b/modules/backend/layouts/_footer.htm
index 870fac32c..e2a90fbd2 100644
--- a/modules/backend/layouts/_footer.htm
+++ b/modules/backend/layouts/_footer.htm
@@ -1,4 +1,4 @@
-