diff --git a/index.html b/index.html
index 4cba51a..4c21229 100644
--- a/index.html
+++ b/index.html
@@ -17,6 +17,7 @@
+
diff --git a/main.js b/main.js
index 1bfee6c..25d10ec 100644
--- a/main.js
+++ b/main.js
@@ -29,6 +29,9 @@ document.addEventListener('readystatechange', () => {
document.getElementById('save').addEventListener('click', () => {
saveSchedule();
});
+ document.getElementById('alt-text').addEventListener('click', () => {
+ altText();
+ });
document.getElementById('clipboard').addEventListener('click', () => {
copyClipboard();
});
@@ -88,6 +91,31 @@ function loadSchedule() {
schedule = JSON.parse(atob(saved));
}
+function altText() {
+ let altText = "ari melody LIVE schedule: ";
+
+ const activeDays = Object.keys(schedule.days)
+ .filter(day => schedule.days[day].enabled)
+ .reduce((days, day) => (days[day] = schedule.days[day], days), {});
+ const nDays = Object.keys(activeDays).length;
+ for (let i = 0; i < nDays; i++) {
+ const day = Object.keys(activeDays)[i];
+ const slot = schedule.days[day];
+ if (!slot.enabled) continue;
+
+ if (i == nDays - 1)
+ altText += `and `;
+ altText += slot.title;
+ if (slot.subtitle.length > 0)
+ altText += ` (${slot.subtitle})`;
+ altText += ` on ${day} @ ${slot.time}`;
+ if (i < nDays - 1)
+ altText += `, `;
+ }
+
+ alert(altText);
+}
+
function copyClipboard() {
html2canvas(scheduleDOM).then(/** @typeof HTMLCanvasElement */ canvas => {
canvas.toBlob(blob => {
diff --git a/style.css b/style.css
index 86f77a7..92c477c 100644
--- a/style.css
+++ b/style.css
@@ -205,10 +205,6 @@ body {
font-size: 2em;
}
-.timeslot-subtitle {
- font-weight: 600;
-}
-
.timeslot.disabled .timeslot-title {
font-size: 1.8em;
}