Ayumi Hamasaki 22847e7892 Improve backend accessibility (#4401)
Credit to @ayumihamsaki. Fixes #4400.

- Added WAI-ARIA to the layout templates files.
- Added Focus-ring polyfill to allow better keyboard navigation and screen reader support.
- Added WAI-ARIA to tabs and created keyboard arrow controls for tabs.
- Added event.key polyfill to allow removal of deprecated event.keyCode, event.charCode and event.which.
- Fixed all the whitespace, tabbing and indent issues with all the lang files.
- Keyboard navigation now allows the following key actions: Tab, Up Arrow, Down Arrow, Left Arrow, Right Arrow, Home and End buttons.
- Added keyboard navigation for tab panels.
2019-07-17 15:07:45 -06:00

71 lines
3.1 KiB
HTML

<!DOCTYPE html>
<html lang="<?= App::getLocale() ?>" class="no-js <?= $this->makeLayoutPartial('browser_detector') ?>">
<head>
<?= $this->makeLayoutPartial('head') ?>
<?= $this->fireViewEvent('backend.layout.extendHead', ['layout' => 'default.htm']) ?>
</head>
<body class="<?= $this->bodyClass ?>">
<div id="layout-canvas">
<div class="layout">
<!-- Main Menu -->
<div class="layout-row min-size">
<?= $this->makeLayoutPartial('mainmenu') ?>
</div>
<?php $flyoutContent = Block::placeholder('sidepanel-flyout') ?>
<div class="layout-row">
<div class="layout flyout-container"
<?php if ($flyoutContent): ?>
data-control="flyout"
data-flyout-width="400"
data-flyout-toggle="#layout-sidenav"
<?php endif ?>
>
<?php if ($flyoutContent): ?>
<div class="layout-cell flyout"> <?= $flyoutContent ?></div>
<?php endif ?>
<!-- Side Navigation -->
<?= $this->makeLayoutPartial('sidenav') ?>
<!-- Side panel -->
<?php if ($sidePanelContent = Block::placeholder('sidepanel')): ?>
<div class="layout-cell w-350 hide-on-small" id="layout-side-panel" data-control="layout-sidepanel" aria-label="<?= e(trans('system::lang.aria-label.side_panel')) ?>">
<?= $sidePanelContent ?>
</div>
<?php endif ?>
<!-- Content Body -->
<div class="layout-cell layout-container" id="layout-body">
<div class="layout-relative">
<div class="layout">
<?php if ($breadcrumbContent = Block::placeholder('breadcrumb')): ?>
<!-- Breadcrumb -->
<div class="control-breadcrumb" aria-label="<?= e(trans('system::lang.aria-label.breadcrumb')) ?>">
<?= $breadcrumbContent ?>
</div>
<?php endif ?>
<!-- Content -->
<div class="layout-row" aria-label="<?= e(trans('system::lang.aria-label.main_content')) ?>">
<?= Block::placeholder('body') ?>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Flash Messages -->
<div id="layout-flash-messages"><?= $this->makeLayoutPartial('flash_messages') ?></div>
</body>
</html>