Accessibility Conformance Report
VPAT 2.5 self-attested conformance against WCAG 2.1 Levels A + AA, the Revised Section 508 Standards, and EN 301 549 V3.2.1.
Scope — What This Report Covers
This report evaluates the MultiDatePick components themselves: multiDatePickDates, multiDatePickDateTime, multiDatePickBooking, and the Setup Wizard (multiDatePickSetup). The surrounding Salesforce platform (Lightning chrome, navigation bar, record header, related lists, App Launcher) is the responsibility of Salesforce and is governed by Salesforce's own VPAT, available at salesforce.com/company/legal/accessibility.
Terms
Conformance Level values in this report use the following terms (per the ITI VPAT 2.5 template):
- Supports — The functionality of the product has at least one method that meets the criterion without known defects or meets with equivalent facilitation.
- Partially Supports — Some functionality of the product does not meet the criterion.
- Does Not Support — The majority of product functionality does not meet the criterion.
- Not Applicable — The criterion is not relevant to the product.
WCAG 2.1 — Level A
| Criterion | Conformance | Remarks |
|---|---|---|
| 1.1.1 Non-text Content | Supports | All interactive icon-only buttons (calendar prev/next, day cells, time slots, status pills) expose accessible names via aria-label or title. Day cells include full date + state in the accessible name (e.g., "Wednesday, April 1, 2026, selected, today"). |
| 1.2.1 Audio-only / Video-only | Not Applicable | No audio or video media. |
| 1.2.2 Captions (Prerecorded) | Not Applicable | No synchronized media. |
| 1.2.3 Audio Description or Media Alternative | Not Applicable | No video media. |
| 1.3.1 Info and Relationships | Supports | Calendar markup uses semantic ARIA grid: role="grid" → role="row" → role="gridcell" + role="columnheader". Form labels are programmatically associated via lightning-input / lightning-textarea. Status pill groups use role="group". |
| 1.3.2 Meaningful Sequence | Supports | DOM order matches visual reading order. Wizard steps render in numbered order; calendar weeks render top-to-bottom; time slots render in time order. |
| 1.3.3 Sensory Characteristics | Supports | Instructions never rely solely on color, shape, or position. Status colors are paired with text labels in the status pill row. |
| 1.4.1 Use of Color | Supports | Selected dates show both a colored fill AND a bold border ring. Conflicting time slots show diagonal stripes AND a status badge. |
| 1.4.2 Audio Control | Not Applicable | The product produces no audio. |
| 2.1.1 Keyboard | Supports | All interactive elements keyboard-reachable. Arrow keys navigate the day grid; Tab moves between calendar / status pills / time grid; Enter / Space activates the focused cell; Escape closes modals. |
| 2.1.2 No Keyboard Trap | Supports | Focus can leave every component via Tab or Escape. Modal-style screens (Import/Export, Save Configuration) can be closed with Escape. |
| 2.1.4 Character Key Shortcuts | Supports | No single-character shortcuts that could conflict with assistive technology. Arrow keys / Enter / Escape are scoped to the focused calendar grid only. |
| 2.2.1 Timing Adjustable | Not Applicable | No time limits are imposed on user interaction. CMT deploy polling shows progress without a user time limit. |
| 2.2.2 Pause, Stop, Hide | Not Applicable | No moving, blinking, scrolling, or auto-updating content. Hover popovers appear on demand and disappear when the pointer leaves. |
| 2.3.1 Three Flashes or Below Threshold | Supports | No flashing content. Deploy-in-progress spinner rotates slowly below the flash threshold. |
| 2.4.1 Bypass Blocks | Supports | The product is a component, not a full page; bypass blocks are handled by Salesforce's Skip Navigation links. |
| 2.4.2 Page Titled | Not Applicable | Page titles are set by the Salesforce platform, not the component. |
| 2.4.3 Focus Order | Supports | Tab order follows logical DOM order: heading → calendar grid → status pills (if shown) → time slot grid (if shown) → footer buttons. |
| 2.4.4 Link Purpose (In Context) | Supports | Wizard links ("Take the guided tour first", "Component Deep Dives: Dates · DateTime · Booking") have descriptive text. The hover popover's "View Record" link is contextually clear. |
| 3.1.1 Language of Page | Supports | Honors the user's Salesforce Locale. Built-in translations for 9 languages: English, Spanish, French, German, Italian, Japanese, Hindi, Brazilian Portuguese, Simplified Chinese. |
| 3.2.1 On Focus | Supports | Focusing a day cell, status pill, or time slot does not initiate a change of context. Selection occurs only on explicit click / Enter / Space. |
| 3.2.2 On Input | Supports | Changing a form field value does not auto-submit. Explicit "Next" / "Save" / "Book" buttons trigger submission. |
| 3.3.1 Error Identification | Supports | Form errors (invalid date, conflict, FLS) surface in toast notifications and inline error text with role="alert" for screen reader announcement. |
| 3.3.2 Labels or Instructions | Supports | Every form field has a programmatically-associated label. Inline instructional text accompanies multi-step actions. |
| 4.1.1 Parsing | Supports | HTML markup is well-formed; validated via LWC compiler at build time. (Obsoleted in WCAG 2.2.) |
| 4.1.2 Name, Role, Value | Supports | All interactive elements expose accessible name, role, and value. Calendar uses ARIA grid pattern with aria-selected on cells. Form inputs use semantic lightning-input / lightning-textarea / lightning-combobox components. axe-core scan confirms 28 passing rules per component (Dates / DateTime / Booking) with zero violations. |
WCAG 2.1 — Level AA
| Criterion | Conformance | Remarks |
|---|---|---|
| 1.2.4 Captions (Live) | Not Applicable | No live media. |
| 1.2.5 Audio Description (Prerecorded) | Not Applicable | No video media. |
| 1.3.4 Orientation | Supports | The product's CSS layout adapts to both portrait and landscape. No orientation lock. |
| 1.3.5 Identify Input Purpose | Supports | Form fields map to identified input purposes via lightning-input attributes. Date fields use type="date", time fields use type="time". |
| 1.4.3 Contrast (Minimum) | Partially Supports | Default colors meet 4.5:1 contrast against background. Configurable status colors are admin-controlled — admins choosing pale fills against white backgrounds can introduce contrast violations the product cannot prevent. Documentation recommends using the SLDS color palette for compliance. |
| 1.4.4 Resize Text | Supports | Text resizes up to 200% via browser zoom without loss of content or functionality. |
| 1.4.5 Images of Text | Supports | All text is rendered as real text. No images of text are used in the UI. |
| 1.4.10 Reflow | Partially Supports | Calendar grid and time slot grid reflow at common breakpoints. At 320 CSS pixels wide, the day grid maintains its 7-column structure (cells narrow proportionally rather than dropping to a vertical stack). The wizard's two-card path picker stacks vertically below 640px. |
| 1.4.11 Non-text Contrast | Supports | Interactive component states (focus ring, hover, selected) use border or fill colors with at least 3:1 contrast against adjacent colors. |
| 1.4.12 Text Spacing | Supports | User-applied text spacing overrides do not cause content loss. Text containers do not have fixed heights that would clip content. |
| 1.4.13 Content on Hover or Focus | Supports | The booking hover popover is dismissible (pointer leaves, Escape closes), hoverable, and persistent (does not auto-dismiss while focused). |
| 2.4.5 Multiple Ways | Not Applicable | The product is a component, not a website with multiple pages. |
| 2.4.6 Headings and Labels | Supports | Setup Wizard step labels are descriptive ("Name & Type", "Object & Fields", "Status & Display", "Review & Save"). |
| 2.4.7 Focus Visible | Supports | All interactive elements show a visible focus indicator (blue ring on cells, orange outline on selected dates, SLDS button focus states). |
| 2.5.1 Pointer Gestures | Supports | Drag-to-select is offered as a convenience; individual click is always the equivalent. No path-based or multi-point gestures required. |
| 2.5.2 Pointer Cancellation | Supports | Click-up (rather than click-down) finalizes selection. Pointer can be dragged off a control before release to cancel. |
| 2.5.3 Label in Name | Supports | Visible button labels match their accessible names ("Save Dates", "Book", "Edit Bookings"). |
| 2.5.4 Motion Actuation | Not Applicable | The product does not respond to device motion. |
| 3.1.2 Language of Parts | Supports | Translated labels respect the user's Salesforce Locale. No mixed-language content within a single screen. |
| 3.2.3 Consistent Navigation | Supports | Wizard step navigation (Next / Back) is consistent across all paths. Footer button row is consistent across components. |
| 3.2.4 Consistent Identification | Supports | Calendar prev/next chevrons, status pill colors, capacity badges, and time slot icons are consistent across components. |
| 3.3.3 Error Suggestion | Supports | Field-validation errors include suggestions ("Pick a date in the future"; "JSON didn't parse — paste from the Existing Configurations tab's Export button"). |
| 3.3.4 Error Prevention (Legal, Financial, Data) | Supports | Destructive actions (Delete Booking) use a two-click confirm pattern. Save operations are additive-only by default — removed dates are never deleted without an explicit Edit Mode delete. |
| 4.1.3 Status Messages | Supports | Status messages use role="alert", role="status", or Salesforce's ShowToastEvent — announced by screen readers without focus change. |
Revised Section 508
Section 508 references WCAG 2.0 Levels A and AA for software. WCAG 2.0 criteria are a subset of the WCAG 2.1 criteria reported above; all applicable WCAG 2.0 criteria are met — see the WCAG tables.
Chapter 3: Functional Performance Criteria
| Criterion | Conformance | Remarks |
|---|---|---|
| 302.1 Without Vision | Supports | Fully usable with a screen reader. ARIA roles and labels announce calendar structure, status, and interaction state. |
| 302.2 With Limited Vision | Supports | Supports browser zoom to 200% (WCAG 1.4.4) and user-adjusted text spacing (1.4.12). |
| 302.3 Without Perception of Color | Supports | Color is never the sole indicator of state. Selected dates have a bold border; conflicts have diagonal stripes; status pills include text labels. |
| 302.4 Without Hearing | Not Applicable | The product produces no audio. |
| 302.5 With Limited Hearing | Not Applicable | The product produces no audio. |
| 302.6 Without Speech | Not Applicable | The product does not require speech input. |
| 302.7 With Limited Manipulation | Supports | Fully usable with single-pointer or keyboard-only input. No multi-touch gestures required. |
| 302.8 With Limited Reach and Strength | Supports | Click targets meet 24×24 CSS pixel minimum on the day grid. Time slots in dense capacity mode are smaller — documented as a configurable density choice. |
| 302.9 With Limited Language, Cognitive, and Learning Abilities | Supports | Setup Wizard offers a guided "Walk me through it" path with inline help text. Tooltips explain advanced properties. Error messages avoid jargon. |
Chapter 5: Software
| Criterion | Conformance | Remarks |
|---|---|---|
| 502.2.1 User Control of Accessibility Features | Not Applicable | The product does not override platform accessibility features. |
| 502.2.2 No Disruption of Accessibility Features | Supports | Does not interfere with the Salesforce platform's accessibility features. |
| 502.3 Accessibility Services | Supports | Exposed through standard ARIA / HTML semantics. No proprietary accessibility API used. |
| 502.4 Platform Accessibility Features | Supports | Honors browser and OS accessibility features (zoom, high-contrast mode, reduced motion). |
Chapter 6: Support Documentation and Services
| Criterion | Conformance | Remarks |
|---|---|---|
| 602.2 Accessibility and Compatibility Features | Supports | This VPAT documents accessibility features. Published at this URL. |
| 602.3 Electronic Support Documentation | Supports | All product documentation is published as accessible HTML on multidatepick.com. |
| 602.4 Alternate Formats for Non-Electronic Documentation | Not Applicable | All support documentation is electronic. |
| 603.2 Information on Accessibility and Compatibility | Supports | Support email responds to accessibility questions. |
| 603.3 Accommodations for Communication | Supports | Email-based support is available for users who prefer it over phone or chat. |
EN 301 549 V3.2.1
EN 301 549 references WCAG 2.1 Levels A and AA throughout Chapter 9 (Web) and Chapter 11 (Software), and adds ICT-specific requirements. The non-WCAG criteria below are addressed inline; everything else references the WCAG tables above.
| Criterion | Conformance | Remarks |
|---|---|---|
| 4. Functional Performance Statements | Supports | Mirrors Section 508 Chapter 3 — see above. |
| 5.1 Closed Functionality | Not Applicable | The product is not closed functionality. |
| 5.2 Activation of Accessibility Features | Supports | Accessibility features (ARIA labels, keyboard nav, screen reader compatibility) are always on. No user activation required. |
| 9 Web (WCAG 2.1 A + AA) | Supports | See WCAG tables above. Partial on 1.4.3 (admin-configurable color) and 1.4.10 (320px reflow). |
| 11 Software (WCAG 2.1 A + AA) | Supports | See WCAG tables above. |
| 12 Documentation and Support Services | Supports | Mirrors Section 508 Chapter 6 — see above. |
For accessibility questions, feedback, or remediation requests: support@multidatepick.com.
