Я знаком с стандартным подходом, основанным на colspan, для отображения календарей (нескольких недель или месяцев) в HTML с событиями, которые охватывают несколько дней. (Google Calendar делает это, как один из многих примеров.)
Мне любопытно, знает ли кто-нибудь о бессточном подходе к достижению того же самого. Может быть, это просто не важно, и это "хорошее" использование элемента таблицы, но я думаю, что это может быть более актуальным в эту эпоху отзывчивого дизайна.
Вот пример гибкого, без таблиц календаря. (Однако нет многодневных событий.) https://pittsburghkids.org/calendar В своей версии с малым визитом он больше не является семантически. Точно так же, как @ThinkingStiff упоминает ниже, если вы переключаетесь с "просмотра месяца" на "просмотр списка" на стороне клиента, таблица также не подходит семантически.