misc: improve a11y of timetable widget (#74067) #592
|
@ -2397,6 +2397,11 @@ div.timetable-widget {
|
|||
|
||||
div.head {
|
||||
padding-bottom: 1ex;
|
||||
h5 {
|
||||
font-size: inherit;
|
||||
font-weight: inherit;
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -65,13 +65,14 @@
|
|||
var nb_days = 0;
|
||||
var has_timeslots = false;
|
||||
|
||||
var day_label = null;
|
||||
for (var i=0; i<options.length; i++) {
|
||||
var $option = $(options[i]);
|
||||
if ($option.attr('value') == '') continue;
|
||||
has_timeslots = true;
|
||||
var option_date = $option.data('date');
|
||||
if (option_date !== current_date) {
|
||||
var day_label = $option.text().split(' ', 3).join(' ');
|
||||
day_label = $option.text().split(' ', 3).join(' ');
|
||||
if (Intl && Intl.DateTimeFormat) {
|
||||
// create day label from actual date, this works for event agendas.
|
||||
var date = new Date(option_date);
|
||||
|
@ -80,12 +81,15 @@
|
|||
}
|
||||
var weekday = $option.data('weekday');
|
||||
nb_days += 1;
|
||||
current_day_div = $('<div><div class="head">' + weekday + '<br>' + day_label + '</div></div>');
|
||||
current_day_div = $('<div><div class="head"><h5>' + weekday + '<br>' + day_label + '</h5></div></div>');
|
||||
current_day_div.appendTo($table);
|
||||
current_date = option_date;
|
||||
}
|
||||
var day_time = $option.data('time');
|
||||
var option_span = $('<span class="timetable-cell selectable" tabindex="0" role="button" data-idx="' + i + '"><span>' + day_time + '</span></span>').appendTo(current_day_div);
|
||||
var option_span = $(
|
||||
'<span class="timetable-cell selectable" tabindex="0" role="button" data-idx="' + i + '">' +
|
||||
'<span class="sr-only">' + day_label + '</span>' +
|
||||
'<span>' + day_time + '</span></span>').appendTo(current_day_div);
|
||||
if ($option.attr('disabled')) {
|
||||
$(option_span).addClass('disabled').removeClass('selectable');
|
||||
}
|
||||
|
@ -108,8 +112,12 @@
|
|||
if (! has_timeslots) {
|
||||
$('<p class="timetable-widget--nothing">{% trans "No available timeslots." %}</p>').appendTo($table);
|
||||
}
|
||||
var go_prev = $('<button class="prev" title="{% trans "Previous week" %}">←</button>');
|
||||
var go_next = $('<button class="next" title="{% trans "Next week" %}">→</button>');
|
||||
var go_prev = $('<button class="prev" title="{% trans "Previous days" %}">' +
|
||||
'<span aria-hidden="true">←</span>' +
|
||||
'<span class="sr-only">{% trans "Previous days" %}</span></button>');
|
||||
var go_next = $('<button class="next" title="{% trans "Next days" %}">' +
|
||||
'<span aria-hidden="true">→</span>' +
|
||||
'<span class="sr-only">{% trans "Next days" %}</span></button>');
|
||||
go_prev.prependTo($table);
|
||||
go_next.appendTo($table);
|
||||
go_prev.on('click', function() {
|
||||
|
|
Loading…
Reference in New Issue