diff options
author | Jan C. Borchardt <hey@jancborchardt.net> | 2021-04-20 13:51:40 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-20 13:51:40 +0200 |
commit | 9d1e2c50823fc2a2a1763e1153c0c18bce8fbddd (patch) | |
tree | 3893c434819f57b2213f33ac0c8247365b48b768 /apps/settings | |
parent | 67ab4dd6c7b4ec51047bc128a5bdd5af1c36b100 (diff) | |
parent | 738ac612d2535b8fb0d9cbc705937df78771f6af (diff) | |
download | nextcloud-server-9d1e2c50823fc2a2a1763e1153c0c18bce8fbddd.tar.gz nextcloud-server-9d1e2c50823fc2a2a1763e1153c0c18bce8fbddd.zip |
Merge pull request #26548 from nextcloud/design/files-accessibility
Files & Core accessibility fixes
Diffstat (limited to 'apps/settings')
-rw-r--r-- | apps/settings/css/settings.scss | 36 | ||||
-rw-r--r-- | apps/settings/js/settings/personalInfo.js | 7 | ||||
-rw-r--r-- | apps/settings/js/templates.js | 2 | ||||
-rw-r--r-- | apps/settings/js/templates/federationscopemenu.handlebars | 2 | ||||
-rw-r--r-- | apps/settings/templates/settings/personal/personal.info.php | 36 |
5 files changed, 54 insertions, 29 deletions
diff --git a/apps/settings/css/settings.scss b/apps/settings/css/settings.scss index cc798868c53..88c5e4dbcf9 100644 --- a/apps/settings/css/settings.scss +++ b/apps/settings/css/settings.scss @@ -55,6 +55,9 @@ input { #uploadavatarbutton, #selectavatar, #removeavatar { padding: 21px; } +#selectavatar, #removeavatar { + vertical-align: top; +} .jcrop-holder { z-index: 500; @@ -118,9 +121,19 @@ input { width: 100%; } -.personal-settings-setting-box input { - &[type='text'], &[type='email'], &[type='tel'], &[type='url'] { - width: 100%; +.personal-settings-setting-box { + .section { + padding: 10px 30px; + + h3 { + margin-bottom: 0; + } + + input { + &[type='text'], &[type='email'], &[type='tel'], &[type='url'] { + width: 100%; + } + } } } @@ -361,11 +374,20 @@ select { .federation-menu { position: relative; cursor: pointer; - margin-left: 10px; + width: 44px; + height: 44px; + padding: 10px; + margin: -12px 0 0 8px; + background: none; + border: none; + &:hover, &:focus { + background-color: var(--color-background-hover); + border-radius: var(--border-radius-pill); + .icon-federation-menu { - opacity: 0.7; + opacity: 0.8; } } @@ -928,10 +950,6 @@ span.version { } } -.personal-settings-setting-box .section { - padding: 10px 30px; -} - .followupsection { display: block; padding: 0 30px 30px 30px; diff --git a/apps/settings/js/settings/personalInfo.js b/apps/settings/js/settings/personalInfo.js index e71f4840123..f53e120dcf5 100644 --- a/apps/settings/js/settings/personalInfo.js +++ b/apps/settings/js/settings/personalInfo.js @@ -306,6 +306,13 @@ window.addEventListener('DOMContentLoaded', function () { $('#uploadavatar').fileupload(uploadparms); + // Trigger upload action also with keyboard navigation on enter + $('#uploadavatarbutton').on('keyup', function(event) { + if (event.key === ' ' || event.key === 'Enter') { + $('#uploadavatar').trigger('click'); + } + }); + $('#selectavatar').click(function () { OC.dialogs.filepicker( t('settings', "Select a profile picture"), diff --git a/apps/settings/js/templates.js b/apps/settings/js/templates.js index 25c2e790040..d0d623d9ed9 100644 --- a/apps/settings/js/templates.js +++ b/apps/settings/js/templates.js @@ -8,7 +8,7 @@ templates['federationscopemenu'] = template({"1":function(container,depth0,helpe return undefined }; - return " <li tabindex=\"0\">\n <a href=\"#\" class=\"menuitem action action-" + return " <li>\n <a href=\"#\" class=\"menuitem action action-" + alias4(((helper = (helper = lookupProperty(helpers,"name") || (depth0 != null ? lookupProperty(depth0,"name") : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"name","hash":{},"data":data,"loc":{"start":{"line":4,"column":45},"end":{"line":4,"column":53}}}) : helper))) + " permanent " + ((stack1 = lookupProperty(helpers,"if").call(alias1,(depth0 != null ? lookupProperty(depth0,"active") : depth0),{"name":"if","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":4,"column":64},"end":{"line":4,"column":91}}})) != null ? stack1 : "") diff --git a/apps/settings/js/templates/federationscopemenu.handlebars b/apps/settings/js/templates/federationscopemenu.handlebars index 4bd945b094d..e5cfd942f46 100644 --- a/apps/settings/js/templates/federationscopemenu.handlebars +++ b/apps/settings/js/templates/federationscopemenu.handlebars @@ -1,6 +1,6 @@ <ul> {{#each items}} - <li tabindex="0"> + <li> <a href="#" class="menuitem action action-{{name}} permanent {{#if active}}active{{/if}}" data-action="{{name}}"> {{#if iconClass}} <span class="icon {{iconClass}}"></span> diff --git a/apps/settings/templates/settings/personal/personal.info.php b/apps/settings/templates/settings/personal/personal.info.php index f2e3a51aad7..8aa7b195ff5 100644 --- a/apps/settings/templates/settings/personal/personal.info.php +++ b/apps/settings/templates/settings/personal/personal.info.php @@ -39,20 +39,20 @@ script('settings', [ <div> <form id="avatarform" class="section" method="post" action="<?php p(\OC::$server->getURLGenerator()->linkToRoute('core.avatar.postAvatar')); ?>"> <h3> - <label><?php p($l->t('Profile picture')); ?></label> - <div class="federation-menu" tabindex="0"> + <?php p($l->t('Profile picture')); ?> + <a href="#" class="federation-menu" aria-label="<?php p($l->t('Change privacy level of profile picture')); ?>"> <span class="icon-federation-menu icon-password"> <span class="icon-triangle-s"></span> </span> - </div> + </a> </h3> <div id="displayavatar"> <div class="avatardiv"></div> <div class="warning hidden"></div> <?php if ($_['avatarChangeSupported']): ?> - <label for="uploadavatar" class="inlineblock button icon-upload svg" id="uploadavatarbutton" title="<?php p($l->t('Upload new')); ?>"></label> - <div class="inlineblock button icon-folder svg" id="selectavatar" title="<?php p($l->t('Select from Files')); ?>"></div> - <div class="hidden button icon-delete svg" id="removeavatar" title="<?php p($l->t('Remove image')); ?>"></div> + <label for="uploadavatar" class="inlineblock button icon-upload svg" id="uploadavatarbutton" title="<?php p($l->t('Upload new')); ?>" tabindex="0"></label> + <button class="inlineblock button icon-folder svg" id="selectavatar" title="<?php p($l->t('Select from Files')); ?>"></button> + <button class="hidden button icon-delete svg" id="removeavatar" title="<?php p($l->t('Remove image')); ?>"></button> <input type="file" name="files[]" id="uploadavatar" class="hiddenuploadfield" accept="image/*"> <p><em><?php p($l->t('png or jpg, max. 20 MB')); ?></em></p> <?php else: ?> @@ -101,11 +101,11 @@ script('settings', [ <form id="displaynameform" class="section"> <h3> <label for="displayname"><?php p($l->t('Full name')); ?></label> - <div class="federation-menu" tabindex="0"> + <a href="#" class="federation-menu" aria-label="<?php p($l->t('Change privacy level of full name')); ?>"> <span class="icon-federation-menu icon-password"> <span class="icon-triangle-s"></span> </span> - </div> + </a> </h3> <input type="text" id="displayname" name="displayname" <?php if (!$_['displayNameChangeSupported']) { @@ -131,11 +131,11 @@ script('settings', [ <form id="emailform" class="section"> <h3> <label for="email"><?php p($l->t('Email')); ?></label> - <div class="federation-menu" tabindex="0"> + <a href="#" class="federation-menu" aria-label="<?php p($l->t('Change privacy level of email')); ?>"> <span class="icon-federation-menu icon-password"> <span class="icon-triangle-s"></span> </span> - </div> + </a> </h3> <div class="verify <?php if ($_['email'] === '' || $_['emailScope'] !== 'public') { p('hidden'); @@ -181,11 +181,11 @@ script('settings', [ <form id="phoneform" class="section"> <h3> <label for="phone"><?php p($l->t('Phone number')); ?></label> - <div class="federation-menu" tabindex="0"> + <a href="#" class="federation-menu" aria-label="<?php p($l->t('Change privacy level of phone number')); ?>"> <span class="icon-federation-menu icon-password"> <span class="icon-triangle-s"></span> </span> - </div> + </a> </h3> <input type="tel" id="phone" name="phone" value="<?php p($_['phone']) ?>" @@ -200,11 +200,11 @@ script('settings', [ <form id="addressform" class="section"> <h3> <label for="address"><?php p($l->t('Address')); ?></label> - <div class="federation-menu" tabindex="0"> + <a href="#" class="federation-menu" aria-label="<?php p($l->t('Change privacy level of address')); ?>"> <span class="icon-federation-menu icon-password"> <span class="icon-triangle-s"></span> </span> - </div> + </a> </h3> <input type="text" id="address" name="address" placeholder="<?php p($l->t('Your postal address')); ?>" @@ -219,11 +219,11 @@ script('settings', [ <form id="websiteform" class="section"> <h3> <label for="website"><?php p($l->t('Website')); ?></label> - <div class="federation-menu" tabindex="0"> + <a href="#" class="federation-menu" aria-label="<?php p($l->t('Change privacy level of website')); ?>"> <span class="icon-federation-menu icon-password"> <span class="icon-triangle-s"></span> </span> - </div> + </a> </h3> <?php if ($_['lookupServerUploadEnabled']) { ?> <div class="verify <?php if ($_['website'] === '' || $_['websiteScope'] !== 'public') { @@ -268,11 +268,11 @@ script('settings', [ <form id="twitterform" class="section"> <h3> <label for="twitter"><?php p($l->t('Twitter')); ?></label> - <div class="federation-menu" tabindex="0"> + <a href="#" class="federation-menu" aria-label="<?php p($l->t('Change privacy level of Twitter profile')); ?>"> <span class="icon-federation-menu icon-password"> <span class="icon-triangle-s"></span> </span> - </div> + </a> </h3> <?php if ($_['lookupServerUploadEnabled']) { ?> <div class="verify <?php if ($_['twitter'] === '' || $_['twitterScope'] !== 'public') { |