The modern event vocabulary
Historical hCalendar markup informed today’s microformats2 h-event vocabulary. An h-event root contains properties such as p-name, dt-start, dt-end, p-location, u-url and p-summary. The event remains readable HTML first. Use the modern vocabulary for new work while preserving a clear migration path for older templates and links.
Dates need explicit meaning
A visible date may omit a year, timezone or end time that a parser needs. The HTML time element can present friendly text while its datetime attribute carries a precise value. Never infer a timezone from the visitor’s browser for a physical event. State the event’s timezone or use an offset so calendar exports do not shift the appointment.
Duration and end boundaries
An end value should describe the actual event boundary, not an arbitrary display range. For all-day events, confirm whether the chosen consumer treats the end as inclusive or exclusive. Avoid synthesizing an end time merely because one field is available in the template. A missing end is often more accurate than a false duration.
Locations
A simple venue name can use p-location. A richer location can be a nested h-card containing a name, address and URL. Virtual events should provide a stable public landing page rather than exposing a private meeting credential in structured markup. If physical and online attendance coexist, make the alternatives explicit in both visible text and extracted properties.
Recurring and changing events
Recurring schedules are difficult to express completely in page-level microformats. Publish each occurrence when it has its own status, URL or capacity, or link to a maintained calendar feed for recurrence rules. When details change, update the canonical event page and indicate cancellation or postponement visibly; silently replacing dates can invalidate saved calendar entries.
Accessibility and human context
Structured dates do not replace understandable prose. Give the event a heading, describe admission and access conditions, and ensure location links have meaningful labels. Color or layout alone must not distinguish cancelled and active events. Machine-readable markup should reinforce a page that already works for keyboard, screen-reader and mobile users.
Test the extracted event
Parse the rendered production HTML, not only a component fragment. Verify the event name, start and end values, timezone, canonical URL and nested location. Test a daylight-saving transition, an all-day case and an event without an end. A calendar import provides an additional end-to-end check but does not replace inspecting parser output.
Questions for a design review
Use this reference to make a review decision, not merely to recognize terminology. Record the concrete document, schema, processor or consumer being discussed; the language and processor versions; and the behavior that must remain compatible. A useful review produces fixtures and an owner for every unresolved assumption.
- What executable example or test demonstrates the intended behavior for the modern event vocabulary?
- What executable example or test demonstrates the intended behavior for dates need explicit meaning?
- What executable example or test demonstrates the intended behavior for duration and end boundaries?
- What executable example or test demonstrates the intended behavior for locations?
- What executable example or test demonstrates the intended behavior for recurring and changing events?
- What executable example or test demonstrates the intended behavior for accessibility and human context?
Include at least one ordinary case, one boundary case and one deliberately invalid or unsupported case. Check the result in the actual production toolchain, because parsers, validators, code generators and reasoners do not all implement the same optional features. Store the selected contract version with the test result, then repeat the review when a dependency, namespace, profile or public declaration changes.
Continue with a working reference
Microformats overview · Data-contract testing
Frequently asked questions
01What does the h-event: Events and Dates in HTML reference cover?
Mark up public events with h-event, unambiguous dates, stable URLs, locations and timezone-aware machine-readable values.
02When should I use this Technical reference guidance?
Use it when designing, reviewing or updating a system that depends on h-event: Events and Dates in HTML. Apply the guidance to a concrete example and record any project-specific policy that goes beyond the standard.
03How can I verify a h-event: Events and Dates in HTML design decision?
Create a minimal positive example, a negative or boundary example, and run both through the same processors and consumer versions used in production. Keep the expected outcome with the fixture so the decision remains reproducible.
04What are the limitations of this Technical reference reference?
The page explains a focused technical decision; it does not replace the complete specification, processor documentation or integration testing. Version-specific behavior and external dependencies must still be verified in the target environment.