Properties
Common properties
Widget properties
Events
When to use Market Calendar
- Earnings hubs and scheduled-event pages
- Portfolio or watchlist tools that need upcoming catalysts
- Trading dashboards that separate pre-market and post-market events
- Editorial workflows that contextualize market-moving dates
Core experience
Every event should communicate its date, event type, entity or symbol, applicable reporting period, session timing, and current status. Earnings events may include EPS and revenue estimates, actual values, and surprise calculations when available. Use a clearly stated timezone for all dates and session labels. Distinguish confirmed values from estimates and pending reports.Data and event states
Support loading, empty-date, no-filter-results, upcoming, reported, postponed, cancelled, delayed-data, entitlement, and error states. When an actual value has not been reported, keep the field explicitly pending rather than substituting zero. If event timing changes, show the latest status and avoid silently moving an event without updating its label.Responsive behavior
On smaller screens, group events by day and prioritize event name, symbol, timing, and status. Move secondary estimates or surprise metrics into an expandable detail view. Preserve date navigation without requiring horizontal page scrolling.Accessibility
- Do not rely on calendar position alone to communicate an event date.
- Provide accessible labels for date navigation and filter controls.
- Identify estimate, actual, surprise, and pending values in text.
- Make event rows reachable and actionable by keyboard.
- Use a descriptive iframe title and a visible timezone label.
Best practices
- Default to the event type that matches the page’s primary intent.
- State the timezone and visible date range near the top of the widget.
- Avoid combining unrelated event types when it reduces scannability.
- Preserve the user’s date and filter state during data refreshes.
- Test weeks with no events, postponed reports, and missing estimates.