diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/css/header.scss | 1 | ||||
-rw-r--r-- | core/js/contactsmenu.js | 11 | ||||
-rw-r--r-- | core/js/jquery.avatar.js | 4 | ||||
-rw-r--r-- | core/templates/layout.user.php | 32 |
4 files changed, 22 insertions, 26 deletions
diff --git a/core/css/header.scss b/core/css/header.scss index e9edfe0bfb8..656440520a0 100644 --- a/core/css/header.scss +++ b/core/css/header.scss @@ -459,6 +459,7 @@ nav { li:hover a, + li a:focus, li a.active { opacity: 1; } diff --git a/core/js/contactsmenu.js b/core/js/contactsmenu.js index 6d57ae72e65..41de10abb47 100644 --- a/core/js/contactsmenu.js +++ b/core/js/contactsmenu.js @@ -26,6 +26,7 @@ 'use strict'; var MENU_TEMPLATE = '' + + '<label class="hidden-visually" for="contactsmenu-search">' + t('core', 'Search contacts …') + '</label>' + '<input id="contactsmenu-search" type="search" placeholder="' + t('core', 'Search contacts …') + '" value="{{searchTerm}}">' + '<div class="content">' + '</div>'; @@ -51,7 +52,7 @@ var CONTACT_TEMPLATE = '' + '{{#if contact.avatar}}' + '<img src="{{contact.avatar}}&size=32" class="avatar"' - + 'srcset="{{contact.avatar}}&size=32 1x, {{contact.avatar}}&size=64 2x, {{contact.avatar}}&size=128 4x">' + + 'srcset="{{contact.avatar}}&size=32 1x, {{contact.avatar}}&size=64 2x, {{contact.avatar}}&size=128 4x" alt="">' + '{{else}}' + '<div class="avatar"></div>' + '{{/if}}' @@ -61,12 +62,12 @@ + '</div>' + '{{#if contact.topAction}}' + '<a class="top-action" href="{{contact.topAction.hyperlink}}" title="{{contact.topAction.title}}">' - + ' <img src="{{contact.topAction.icon}}">' + + ' <img src="{{contact.topAction.icon}}" alt="{{contact.topAction.title}}">' + '</a>' + '{{/if}}' + '{{#if contact.hasTwoActions}}' + '<a class="second-action" href="{{contact.secondAction.hyperlink}}" title="{{contact.secondAction.title}}">' - + ' <img src="{{contact.secondAction.icon}}">' + + ' <img src="{{contact.secondAction.icon}}" alt="{{contact.secondAction.title}}">' + '</a>' + '{{/if}}' + '{{#if contact.hasManyActions}}' @@ -76,7 +77,7 @@ + ' {{#each contact.actions}}' + ' <li>' + ' <a href="{{hyperlink}}">' - + ' <img src="{{icon}}">' + + ' <img src="{{icon}}" alt="">' + ' <span>{{title}}</span>' + ' </a>' + ' </li>' @@ -224,7 +225,7 @@ })); this.delegateEvents(); - // Show placeholder iff no avatar is available (avatar is rendered as img, not div) + // Show placeholder if no avatar is available (avatar is rendered as img, not div) this.$('div.avatar').imageplaceholder(this._model.get('fullName')); // Show tooltip for top action diff --git a/core/js/jquery.avatar.js b/core/js/jquery.avatar.js index a320496e250..54518c75cc7 100644 --- a/core/js/jquery.avatar.js +++ b/core/js/jquery.avatar.js @@ -126,9 +126,9 @@ } else { $div.show(); if (ie8fix === true) { - $div.html('<img width="' + size + '" height="' + size + '" src="'+url+'#'+Math.floor(Math.random()*1000)+'">'); + $div.html('<img width="' + size + '" height="' + size + '" src="'+url+'#'+Math.floor(Math.random()*1000)+'" alt="">'); } else { - $div.html('<img width="' + size + '" height="' + size + '" src="'+url+'">'); + $div.html('<img width="' + size + '" height="' + size + '" src="'+url+'" alt="">'); } } if(typeof callback === 'function') { diff --git a/core/templates/layout.user.php b/core/templates/layout.user.php index 6b9db9389ba..5008392d2a3 100644 --- a/core/templates/layout.user.php +++ b/core/templates/layout.user.php @@ -33,29 +33,21 @@ <header role="banner"><div id="header"> <div class="header-left"> <a href="<?php print_unescaped(link_to('', 'index.php')); ?>" - id="nextcloud" tabindex="1"> + id="nextcloud"> <div class="logo logo-icon"> <h1 class="hidden-visually"> - <?php p($theme->getName()); ?> + <?php p($theme->getName()); ?> <?php p(!empty($_['application'])?$_['application']: $l->t('Apps')); ?> </h1> </div> </a> - <a href="#" class="header-appname-container menutoggle" tabindex="2"> - <h1 class="header-appname"> - <?php p(!empty($_['application'])?$_['application']: $l->t('Apps')); ?> - </h1> - <div class="icon-caret"></div> - </a> - <ul id="appmenu"> <?php foreach ($_['navigation'] as $entry): ?> <li data-id="<?php p($entry['id']); ?>" class="hidden"> <a href="<?php print_unescaped($entry['href']); ?>" - tabindex="3" <?php if ($entry['active']): ?> class="active"<?php endif; ?>> <img src="<?php print_unescaped($entry['icon'] . '?v=' . $_['versionHash']); ?>" - class="app-icon"/> + class="app-icon" alt="<?php p($entry['name']); ?>" /> <div class="icon-loading-small-dark" style="display:none;"></div> </a> @@ -78,7 +70,7 @@ <ul> <?php foreach($_['navigation'] as $entry): ?> <li data-id="<?php p($entry['id']); ?>"> - <a href="<?php print_unescaped($entry['href']); ?>" tabindex="3" + <a href="<?php print_unescaped($entry['href']); ?>" <?php if( $entry['active'] ): ?> class="active"<?php endif; ?>> <svg width="16" height="16" viewBox="0 0 16 16"> <defs><filter id="invert-<?php p($entry['id']); ?>"><feColorMatrix in="SourceGraphic" type="matrix" values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0"></feColorMatrix></filter></defs> @@ -103,15 +95,15 @@ </label> <input id="searchbox" type="search" name="query" value="" required - autocomplete="off" tabindex="5"> - <button class="icon-close-white" type="reset"></button> + autocomplete="off"> + <button class="icon-close-white" type="reset"><span class="hidden-visually"><?php p($l->t('Reset search'));?></span></button> </form> <div id="contactsmenu"> - <div class="icon-contacts menutoggle"></div> + <div class="icon-contacts menutoggle" tabindex="0" role="link"></div> <div class="menu"></div> </div> <div id="settings"> - <div id="expand" tabindex="6" role="link" class="menutoggle"> + <div id="expand" tabindex="0" role="link" class="menutoggle"> <div class="avatardiv<?php if ($_['userAvatarSet']) { print_unescaped(' avatardiv-shown'); } else { print_unescaped('" style="display: none'); } ?>"> <?php if ($_['userAvatarSet']): ?> <img alt="" width="32" height="32" @@ -142,10 +134,12 @@ <div id="sudo-login-background" class="hidden"></div> <form id="sudo-login-form" class="hidden"> - <?php p($l->t('This action requires you to confirm your password:')); ?><br> - <input type="password" class="question" autocomplete="new-password" name="question" value=" <?php /* Hack against browsers ignoring autocomplete="off" */ ?>" + <label> + <?php p($l->t('This action requires you to confirm your password')); ?><br/> + <input type="password" class="question" autocomplete="new-password" name="question" value=" <?php /* Hack against browsers ignoring autocomplete="off" */ ?>" placeholder="<?php p($l->t('Confirm your password')); ?>" /> - <input class="confirm icon-confirm" title="<?php p($l->t('Confirm')); ?>" value="" type="submit"> + </label> + <input class="confirm" value="<?php p($l->t('Confirm')); ?>" type="submit"> </form> <div id="content-wrapper"> |