Merge branch 'automated-accessibility-fixes' into 2024.6-test
This commit is contained in:
commit
3e446a4578
8 changed files with 15 additions and 5 deletions
|
@ -88,6 +88,9 @@ define(req, function(AppConfig, Default, Language) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let html = typeof(document) !== "undefined" && document.documentElement;
|
||||||
|
if (html) { html.setAttribute('lang', language); }
|
||||||
|
|
||||||
var extend = function (a, b) {
|
var extend = function (a, b) {
|
||||||
for (var k in b) {
|
for (var k in b) {
|
||||||
if (Array.isArray(b[k])) {
|
if (Array.isArray(b[k])) {
|
||||||
|
|
|
@ -790,7 +790,7 @@ define([
|
||||||
|
|
||||||
var currentContainer = blocks.block([], 'cp-admin-customize-logo');
|
var currentContainer = blocks.block([], 'cp-admin-customize-logo');
|
||||||
let redraw = () => {
|
let redraw = () => {
|
||||||
var current = h('img', {src: '/api/logo?'+(+new Date())});
|
var current = h('img', {src: '/api/logo?'+(+new Date()),alt:'Custom logo'}); // XXX
|
||||||
$(currentContainer).empty().append(current);
|
$(currentContainer).empty().append(current);
|
||||||
};
|
};
|
||||||
redraw();
|
redraw();
|
||||||
|
|
|
@ -925,7 +925,8 @@ define([
|
||||||
title: text,
|
title: text,
|
||||||
href: href,
|
href: href,
|
||||||
target: "_blank",
|
target: "_blank",
|
||||||
'data-tippy-placement': "right"
|
'data-tippy-placement': "right",
|
||||||
|
'aria-label': Messages.help_genericMore //TBC XXX
|
||||||
});
|
});
|
||||||
return q;
|
return q;
|
||||||
};
|
};
|
||||||
|
@ -1205,14 +1206,14 @@ define([
|
||||||
if (labelOpts.class) { labelOpts.class += ' cp-checkmark'; }
|
if (labelOpts.class) { labelOpts.class += ' cp-checkmark'; }
|
||||||
|
|
||||||
// Mark properties
|
// Mark properties
|
||||||
var markOpts = { tabindex: 0 };
|
var markOpts = { tabindex: 0, role: 'checkbox', 'aria-checked': checked, 'aria-labelledby': inputOpts.id + '-label' };
|
||||||
$.extend(markOpts, opts.mark || {});
|
$.extend(markOpts, opts.mark || {});
|
||||||
|
|
||||||
var input = h('input', inputOpts);
|
var input = h('input', inputOpts);
|
||||||
var $input = $(input);
|
var $input = $(input);
|
||||||
var mark = h('span.cp-checkmark-mark', markOpts);
|
var mark = h('span.cp-checkmark-mark', markOpts);
|
||||||
var $mark = $(mark);
|
var $mark = $(mark);
|
||||||
var label = h('span.cp-checkmark-label', labelTxt);
|
var label = h('span.cp-checkmark-label', {id: inputOpts.id + '-label'}, labelTxt);
|
||||||
|
|
||||||
$mark.keydown(function (e) {
|
$mark.keydown(function (e) {
|
||||||
if ($input.is(':disabled')) { return; }
|
if ($input.is(':disabled')) { return; }
|
||||||
|
@ -1228,8 +1229,10 @@ define([
|
||||||
if (!opts.labelAlt) { return; }
|
if (!opts.labelAlt) { return; }
|
||||||
if ($input.is(':checked') !== checked) {
|
if ($input.is(':checked') !== checked) {
|
||||||
$(label).text(opts.labelAlt);
|
$(label).text(opts.labelAlt);
|
||||||
|
$mark.attr('aria-checked', 'true');
|
||||||
} else {
|
} else {
|
||||||
$(label).text(labelTxt);
|
$(label).text(labelTxt);
|
||||||
|
$mark.attr('aria-checked', 'false');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -2645,7 +2645,7 @@ define([
|
||||||
var urlArgs = (Config.requireConf && Config.requireConf.urlArgs) || '';
|
var urlArgs = (Config.requireConf && Config.requireConf.urlArgs) || '';
|
||||||
|
|
||||||
var logo = h('img', { src: '/customize/CryptPad_logo.svg?' + urlArgs });
|
var logo = h('img', { src: '/customize/CryptPad_logo.svg?' + urlArgs });
|
||||||
var fill1 = h('div.cp-creation-fill.cp-creation-logo', logo);
|
var fill1 = h('div.cp-creation-fill.cp-creation-logo',{ role: 'presentation' }, logo);
|
||||||
var fill2 = h('div.cp-creation-fill');
|
var fill2 = h('div.cp-creation-fill');
|
||||||
var $creation = $('<div>', { id: 'cp-creation', tabindex:1 });
|
var $creation = $('<div>', { id: 'cp-creation', tabindex:1 });
|
||||||
$creationContainer.append([fill1, $creation, fill2]);
|
$creationContainer.append([fill1, $creation, fill2]);
|
||||||
|
|
|
@ -2247,6 +2247,7 @@ define([
|
||||||
$element.prepend(img);
|
$element.prepend(img);
|
||||||
$(img).addClass('cp-app-drive-element-grid cp-app-drive-element-thumbnail');
|
$(img).addClass('cp-app-drive-element-grid cp-app-drive-element-thumbnail');
|
||||||
$(img).attr("draggable", false);
|
$(img).attr("draggable", false);
|
||||||
|
$(img).attr("role", "presentation");
|
||||||
addTitleIcon(element, $name);
|
addTitleIcon(element, $name);
|
||||||
} else {
|
} else {
|
||||||
common.displayThumbnail(href || data.roHref, data.channel, data.password, $element, function ($thumb) {
|
common.displayThumbnail(href || data.roHref, data.channel, data.password, $element, function ($thumb) {
|
||||||
|
|
|
@ -78,6 +78,7 @@ define([
|
||||||
requireConfig.urlArgs + '#' + encodeURIComponent(JSON.stringify(req)));
|
requireConfig.urlArgs + '#' + encodeURIComponent(JSON.stringify(req)));
|
||||||
$i.attr('allowfullscreen', 'true');
|
$i.attr('allowfullscreen', 'true');
|
||||||
$i.attr('allow', 'clipboard-write');
|
$i.attr('allow', 'clipboard-write');
|
||||||
|
$i.attr('title', 'iframe');
|
||||||
$('iframe-placeholder').after($i).remove();
|
$('iframe-placeholder').after($i).remove();
|
||||||
|
|
||||||
// This is a cheap trick to avoid loading sframe-channel in parallel with the
|
// This is a cheap trick to avoid loading sframe-channel in parallel with the
|
||||||
|
|
|
@ -1195,6 +1195,7 @@ MessengerUI, Messages, Pages, PadTypes) {
|
||||||
if (![13,32,46].includes(e.which)) { return; }
|
if (![13,32,46].includes(e.which)) { return; }
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
if (e.which === 46) {
|
if (e.which === 46) {
|
||||||
|
$('body').find('.cp-dropdown-content li').first().focus();
|
||||||
return $(el).find('.cp-notification-dismiss').click();
|
return $(el).find('.cp-notification-dismiss').click();
|
||||||
}
|
}
|
||||||
$(el).find('.cp-notification-content').click();
|
$(el).find('.cp-notification-content').click();
|
||||||
|
|
|
@ -1049,6 +1049,7 @@ define([
|
||||||
var $pubLabel = $('<span>', {'class': 'cp-default-label'})
|
var $pubLabel = $('<span>', {'class': 'cp-default-label'})
|
||||||
.text(Messages.settings_publicSigningKey);
|
.text(Messages.settings_publicSigningKey);
|
||||||
$key.append($pubLabel).append(UI.dialog.selectable(userHref));
|
$key.append($pubLabel).append(UI.dialog.selectable(userHref));
|
||||||
|
$key.find('input').attr('aria-label', Messages.settings_publicSigningKey);
|
||||||
}
|
}
|
||||||
var content = [container];
|
var content = [container];
|
||||||
cb(content);
|
cb(content);
|
||||||
|
|
Loading…
Reference in a new issue