When the calendar loads, screen readers announce the root as an application landmark labeled "Calendar". The toolbar announces as a toolbar region with navigation buttons. The current date and view title are announced via aria-live="polite" whenever the user navigates between periods or switches views. In the month view, day cells are announced with their full formatted date (e.g., "Monday, January 6, 2026"). In week and day views, time slots are announced with both date and hour (e.g., "Monday, January 6, 2026 at 9:00 AM"). Events are announced as buttons with their title and all-day status. The view switcher is announced as a radio group, allowing users to switch between Month, Week, and Day views with standard radio button semantics.
BigCalendar/├── BigCalendar.tsx # Root component with context provider and state management├── BigCalendarToolbar.tsx # Navigation toolbar with Today/Prev/Next and view switcher├── BigCalendarMonthView.tsx # Monthly grid view with day cells and event indicators├── BigCalendarWeekView.tsx # Seven-day time grid with hourly slots├── BigCalendarDayView.tsx # Single-day time grid with all-day section├── BigCalendarEvent.tsx # Event card with color coding and remove action├── hooks.ts # CalendarContext and useCalendar hook├── types.ts # TypeScript type definitions├── utils.ts # Date helpers, formatting, and color utilities├── index.ts # Re-exports all components and types└── README.md # Component usage reference