mirror of
https://github.com/nextcloud/server.git
synced 2026-06-10 09:13:19 -04:00
Merge pull request #6700 from nextcloud/accessibility-fixes
Accessibility fixes
This commit is contained in:
commit
060eac40d8
7 changed files with 27 additions and 29 deletions
|
|
@ -23,7 +23,7 @@
|
|||
' {{/if}}' +
|
||||
' <div class="tabsContainer">' +
|
||||
' </div>' +
|
||||
' <a class="close icon-close" href="#" alt="{{closeLabel}}"></a>';
|
||||
' <a class="close icon-close" href="#"><span class="hidden-visually">{{closeLabel}}</span></a>';
|
||||
|
||||
/**
|
||||
* @class OCA.Files.DetailsView
|
||||
|
|
|
|||
|
|
@ -4,7 +4,9 @@
|
|||
<div id="uploadprogressbar">
|
||||
<em class="label outer" style="display:none"><span class="desktop"><?php p($l->t('Uploading @'));?></span><span class="mobile"><?php p($l->t('…'));?></span></em>
|
||||
</div>
|
||||
<input type="button" class="stop icon-close" style="display:none" value="" />
|
||||
<button class="stop icon-close" style="display:none">
|
||||
<span class="hidden-visually"><?php p($l->t('Cancel upload')) ?></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div id="file_action_panel"></div>
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
<a id="modified" class="columntitle" data-sort="mtime"><span><?php p($l->t( 'Modified' )); ?></span><span class="sort-indicator"></span></a>
|
||||
<span class="selectedActions"><a href="" class="delete-selected">
|
||||
<?php p($l->t('Delete'))?>
|
||||
<img class="svg" alt="<?php p($l->t('Delete'))?>"
|
||||
<img class="svg" alt=""
|
||||
src="<?php print_unescaped(OCP\image_path("core", "actions/delete.svg")); ?>" />
|
||||
</a></span>
|
||||
</th>
|
||||
|
|
|
|||
|
|
@ -459,6 +459,7 @@ nav {
|
|||
|
||||
|
||||
li:hover a,
|
||||
li a:focus,
|
||||
li a.active {
|
||||
opacity: 1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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') {
|
||||
|
|
|
|||
|
|
@ -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">
|
||||
|
|
|
|||
Loading…
Reference in a new issue