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 @@ -