</div>
{% endif %}
{% if login.isGroupManager() %}
- <a class="jsonly disabled ui icon button" id="btngroups">
+ <a class="jsonly disabled ui icon button" id="btngroups" tabindex="0">
<i class="user tag icon" aria-hidden="true"></i>
{{ _T("Manage user's groups") }}
</a>
{% endif %}
{% if login.isAdmin() or login.isStaff() %}
- <a class="jsonly disabled ui icon button" id="btnmanagedgroups">
+ <a class="jsonly disabled ui icon button" id="btnmanagedgroups" tabindex="0">
<i class="user shield icon" aria-hidden="true"></i>
{{ _T("Manage user's managed groups") }}
</a>
</div>
</div>
</form>
-<script type="text/javascript">
- $(function() {
- var _btnaid = '#newgroup';
- var _btnuid = '#btnusers_small';
- var _btnmid = '#btnmanagers_small';
-
- {# Tabs #}
- $('.menu.tabbed .item').tab({
- onFirstLoad: function(tabPath) {
-{% if login.isAdmin() or login.isStaff() %}
- if (tabPath == 'group_managers') {
- $(_btnaid).addClass('displaynone');
- $(_btnuid).addClass('displaynone');
- } else if ( tabPath == 'group_members' ) {
- $(_btnaid).addClass('displaynone');
- $(_btnmid).addClass('displaynone');
- } else if ( tabPath == 'group_information' ) {
- $(_btnuid).addClass('displaynone');
- $(_btnmid).addClass('displaynone');
- }
-{% endif %}
- },
- onVisible: function(tabPath) {
- document.getElementById('tab').value = tabPath;
-{% if login.isAdmin() or login.isStaff() %}
- if ( tabPath == 'group_managers' ) {
- $(_btnmid).removeClass('displaynone');
- $(_btnaid).addClass('displaynone');
- if ( !$(_btnuid).hasClass('displaynone') ) {
- $(_btnuid).addClass('displaynone');
- }
- } else if ( tabPath == 'group_members' ) {
- $(_btnuid).removeClass('displaynone');
- $(_btnaid).addClass('displaynone');
- if ( !$(_btnmid).hasClass('displaynone') ) {
- $(_btnmid).addClass('displaynone');
- }
- } else if ( tabPath == 'group_information' ) {
- $(_btnaid).removeClass('displaynone');
- $(_btnuid).addClass('displaynone');
- $(_btnmid).addClass('displaynone');
- }
-{% endif %}
- }
- }).tab('change tab', '{{ tab }}');
- });
-</script>
title="{{ _T('Add new group search criteria') }}"
>
<i class="plus icon" aria-hidden="true"></i>
- <span class="displaynone">{{ _T('Add new group search criteria') }}</span>
+ <span class="visually-hidden">{{ _T('Add new group search criteria') }}</span>
</a>
</div>
<div class="active content">
title="{{ _T('Remove criteria') }}"
>
<i class="trash alt icon" aria-hidden="true"></i>
- <span class="displaynone">{{ _T('Remove criteria') }}</span>
+ <span class="visually-hidden">{{ _T('Remove criteria') }}</span>
</a>
</div>
</div>
title="{{ _T('Add new free search criteria') }}"
>
<i class="plus icon" aria-hidden="true"></i>
- <span class="displaynone">{{ _T('Add new free search criteria') }}</span>
+ <span class="visually-hidden">{{ _T('Add new free search criteria') }}</span>
</a>
</div>
<div class="active content">
title="{{ _T('Remove criteria') }}"
>
<i class="trash alt icon" aria-hidden="true"></i>
- <span class="displaynone">{{ _T('Remove criteria') }}</span>
+ <span class="visually-hidden">{{ _T('Remove criteria') }}</span>
</a>
</div>
<div class="ui segment">
<div class="field">
<div class="ui left icon input">
- <i class="envelope icon" aria-hidden="true"></i><span class="displaynone"><label for="email">{{ _T("Please confirm your email address:") }}</label></span>
+ <i class="envelope icon" aria-hidden="true"></i><label for="email" class="visually-hidden">{{ _T("Please confirm your email address:") }}</label>
<input type="email" name="email" id="email" maxlength="50" required="required" autofocus placeholder="{{ _T("Please confirm your email address:") }}"/>
</div>
</div>
<div class="ui segment">
<div class="field">
<div class="ui left icon input">
- <i class="user icon" aria-hidden="true"></i><span class="displaynone"><label for="login">{{ _T("Username:") }}</label></span>
+ <i class="user icon" aria-hidden="true"></i><label for="login" class="visually-hidden">{{ _T("Username:") }}</label>
<input type="text" name="login" id="login" autofocus placeholder="{{ _T("Username:") }}"/>
</div>
</div>
<div class="field">
<div class="ui left icon input">
- <i class="lock icon" aria-hidden="true"></i><span class="displaynone"><label for="password">{{ _T("Password:") }}</label></span>
+ <i class="lock icon" aria-hidden="true"></i><label for="password" class="visually-hidden">{{ _T("Password:") }}</label>
<input type="password" name="password" id="password" placeholder="{{ _T("Password:") }}"/>
</div>
</div>
</select>
</div>
<div class="flexend field">
- <label for="filter_account" class="displaynone">{{ _T('among:') }}</label>
+ <label for="filter_account" class="visually-hidden">{{ _T('among:') }}</label>
<select name="filter_account" class="ui search dropdown nochosen">
{% for key, value in filter_accounts_options %}
<option value="{{ key }}"{% if key == filters.filter_account %} selected="selected"{% endif %}>{{ value }}</option>
</select>
</div>
<div class="flexend field">
- <label for="group_filter" class="displaynone">{{ _T('among:') }}</label>
+ <label for="group_filter" class="visually-hidden">{{ _T('among:') }}</label>
<select name="group_filter" class="ui search dropdown nochosen">
<option value="0">{{ _T('Select a group') }}</option>
{% for group in filter_groups_options %}
<div class="ui segment">
<div class="field">
<div class="ui left icon input">
- <i class="user icon" aria-hidden="true"></i><span class="displaynone"><label for="login">{{ _T("Username or email:") }}</label></span>
+ <i class="user icon" aria-hidden="true"></i><label for="login" class="visually-hidden">{{ _T("Username or email:") }}</label>
<input type="text" name="login" id="login" autofocus placeholder="{{ _T("Username or email:") }}"/>
</div>
</div>
<p class="ui yellow small message"><i class="exclamation triangle icon" aria-hidden="true"></i> {{ _T('(at least 4 characters)') }}</p>
<div class="field">
<div class="ui left icon input">
- <i class="lock icon" aria-hidden="true"></i><span class="displaynone"><label for="mdp_adh">{{ _T('New password:') }}</label></span>
+ <i class="lock icon" aria-hidden="true"></i><label for="mdp_adh" class="visually-hidden">{{ _T('New password:') }}</label>
<input type="password" name="mdp_adh" id="mdp_adh" value="" required="required" autofocus placeholder="{{ _T('New password:') }}"/>
</div>
</div>
<div class="field">
<div class="ui left icon input">
- <i class="lock icon" aria-hidden="true"></i><span class="displaynone"><label for="mdp_adh2">{{ _T('Confirmation:') }}</label></span>
+ <i class="lock icon" aria-hidden="true"></i><label for="mdp_adh2" class="visually-hidden">{{ _T('Confirmation:') }}</label>
<input type="password" name="mdp_adh2" id="mdp_adh2" value="" required="required" placeholder="{{ _T('Confirmation:') }}"/>
</div>
</div>
$('.jsenabled .jsonly.read-only').removeClass('read-only');
$('.jsenabled .jsonly.search-dropdown').removeClass('search-dropdown').addClass('search clearable selection dropdown');
- $('#login').focus();
-
_bindFomanticComponents();
_bindDropdownsAutosubmit();
.ui.form .data.inline.fields {
margin-bottom: 0;
}
+
+/*--------------------------
+ Focus state
+---------------------------*/
+.ui.form input[type="color"]:focus,
+.ui.form input[type="date"]:focus,
+.ui.form input[type="datetime-local"]:focus,
+.ui.form input[type="email"]:focus,
+.ui.form input[type="file"]:focus,
+.ui.form input[type="month"]:focus,
+.ui.form input[type="number"]:focus,
+.ui.form input[type="password"]:focus,
+.ui.form input[type="search"]:focus,
+.ui.form input[type="tel"]:focus,
+.ui.form input[type="text"]:focus,
+.ui.form input[type="time"]:focus,
+.ui.form input[type="url"]:focus,
+.ui.form input[type="week"]:focus,
+.ui.form input[type="checkbox"]:focus,
+.ui.form input[type="radio"]:focus,
+.ui.checkbox:not(.invisible) input:focus ~ label::before,
+.ui.file.input input[type="file"]:focus + label.ui.button:not(.basic):not(.tertiary),
+.ui.form textarea:focus,
+.ui.form .ui.search.dropdown > input.search:focus,
+.main-content .ui.dropdown:not(.tertiary):focus {
+ outline: 3px solid @blueFocus;
+}