diff --git a/lib/classes/MessageBox.class.php b/lib/classes/MessageBox.class.php index 450851f41daa4e95ad8ac0412028483b34b7ff58..c0d94b297edd31ad68150f273b9707f88f1254ff 100644 --- a/lib/classes/MessageBox.class.php +++ b/lib/classes/MessageBox.class.php @@ -41,6 +41,7 @@ class MessageBox implements LayoutMessage public $details; public $close_details; protected $hide_close = false; + public static $counter = 0; /** * This function returns an exception message box. Use it only for system errors @@ -147,12 +148,21 @@ class MessageBox implements LayoutMessage */ public function __toString() { + $label = [ + 'exception' => _('Systemfehler'), + 'error' => _('Fehler'), + 'warning' => _('Warnung'), + 'info' => _('Hinweis'), + 'success' => _('Erfolg'), + ]; return $GLOBALS['template_factory']->render('shared/message_box', [ 'class' => $this->class, 'message' => $this->message, 'details' => is_array($this->details) ? $this->details : [], 'close_details' => $this->close_details, 'hide_close' => $this->hide_close, + 'label' => $label[$this->class], + 'counter' => self::$counter++, ]); } } diff --git a/templates/_standard_loginform.php b/templates/_standard_loginform.php index 51fc53b2352712fe1e3b64fe57e7887d4f219713..57c9cec968b3c269a04600fa3aa5e4a00d7e3ebf 100644 --- a/templates/_standard_loginform.php +++ b/templates/_standard_loginform.php @@ -43,9 +43,11 @@ $password_tooltip_text = (string)Config::get()->PASSWORD_TOOLTIP_TEXT; name="password" autocomplete="current-password" size="20" - required> + required + <?= $loginerror ? 'aria-describedby="messagebox-0"' : ''?> + > - <i id="password-toggle" tabindex="0" aria-role="button" class="enter-accessible"> + <i id="password-toggle" tabindex="0" role="button" class="enter-accessible"> <?= Icon::create('visibility-checked')->asImg(20, [ 'id ' => 'visible-password', 'title' => _('Passwort anzeigen'), diff --git a/templates/shared/message_box.php b/templates/shared/message_box.php index 657563ba285e3c63bd31c0b10ba0085c7cdc8740..447763d7d97c99c940c5879d5599eab937bc495d 100644 --- a/templates/shared/message_box.php +++ b/templates/shared/message_box.php @@ -1,4 +1,4 @@ -<div class="messagebox messagebox_<?= $class ?> <? if (count($details) > 0 && $close_details): ?>details_hidden<? endif; ?>"> +<div role="region" aria-label="<?= $label ?>" aria-describedby="messagebox-<?= $counter ?>" class="messagebox messagebox_<?= $class ?> <? if (count($details) > 0 && $close_details): ?>details_hidden<? endif; ?>"> <div class="messagebox_buttons"> <? if (count($details) > 0 && $close_details) : ?> <a class="details" href="#" title="<?=_('Detailanzeige umschalten')?>"> @@ -6,19 +6,21 @@ </a> <? endif ?> <? if (!$hide_close): ?> - <a class="close" href="#" title="<?= _('Nachrichtenbox schließen') ?>"> + <a class="close" role="button" href="#" title="<?= _('Nachrichtenbox schließen') ?>"> <span><?= _('Nachrichtenbox schließen') ?></span> </a> <? endif; ?> </div> + <div role="status" id="messagebox-<?= $counter ?>"> <?= $message ?> -<? if (count($details) > 0) : ?> - <div class="messagebox_details"> - <ul> - <? foreach ($details as $li) : ?> - <li><?= $li ?></li> - <? endforeach ?> - </ul> + <? if (count($details) > 0) : ?> + <div class="messagebox_details"> + <ul> + <? foreach ($details as $li) : ?> + <li><?= $li ?></li> + <? endforeach ?> + </ul> + </div> + <? endif ?> </div> -<? endif ?> </div>