@uplink-protocol/calendar-controller
Version:
Flexible calendar and time picker API supporting both calendar, date-picker, and time-picker integrations for any JavaScript framework or library
306 lines (154 loc) • 7.15 kB
Markdown
[**@uplink-protocol/form-controller v0.3.1**](../README.md)
***
[@uplink-protocol/form-controller](../globals.md) / AccessibilityManagerService
# Class: AccessibilityManagerService
Defined in: [Date/services/accessibility-manager.service.ts:13](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/services/accessibility-manager.service.ts#L13)
Implementation of AccessibilityManagerService
Handles keyboard navigation, focus management, and accessibility functions
by coordinating between AccessibilityService and other services
## Implements
- [`IAccessibilityManagerService`](../interfaces/IAccessibilityManagerService.md)
## Constructors
### Constructor
> **new AccessibilityManagerService**(`_accessibilityService`, `_viewStateService`): `AccessibilityManagerService`
Defined in: [Date/services/accessibility-manager.service.ts:14](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/services/accessibility-manager.service.ts#L14)
#### Parameters
##### \_accessibilityService
[`IAccessibilityService`](../interfaces/IAccessibilityService.md)
##### \_viewStateService
[`IViewStateService`](../interfaces/IViewStateService.md)
#### Returns
`AccessibilityManagerService`
## Methods
### getAccessibleDateLabel()
> **getAccessibleDateLabel**(`date`, `localeMonthNameFn?`): `string`
Defined in: [Date/services/accessibility-manager.service.ts:91](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/services/accessibility-manager.service.ts#L91)
Get accessible date label for screen readers
#### Parameters
##### date
`Date`
The date to get a label for
##### localeMonthNameFn?
(`month`) => `string`
Optional function to get localized month name
#### Returns
`string`
Accessible date label string
#### Implementation of
[`IAccessibilityManagerService`](../interfaces/IAccessibilityManagerService.md).[`getAccessibleDateLabel`](../interfaces/IAccessibilityManagerService.md#getaccessibledatelabel)
***
### getAriaLabel()
> **getAriaLabel**(`date`): `string`
Defined in: [Date/services/accessibility-manager.service.ts:136](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/services/accessibility-manager.service.ts#L136)
Get ARIA label for a date
#### Parameters
##### date
`Date`
#### Returns
`string`
#### Implementation of
[`IAccessibilityManagerService`](../interfaces/IAccessibilityManagerService.md).[`getAriaLabel`](../interfaces/IAccessibilityManagerService.md#getarialabel)
***
### getAriaLabelForMonth()
> **getAriaLabelForMonth**(`month`, `year`): `string`
Defined in: [Date/services/accessibility-manager.service.ts:143](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/services/accessibility-manager.service.ts#L143)
Get ARIA label for month
#### Parameters
##### month
`number`
##### year
`number`
#### Returns
`string`
#### Implementation of
[`IAccessibilityManagerService`](../interfaces/IAccessibilityManagerService.md).[`getAriaLabelForMonth`](../interfaces/IAccessibilityManagerService.md#getarialabelformonth)
***
### getAriaLabelForYear()
> **getAriaLabelForYear**(`year`): `string`
Defined in: [Date/services/accessibility-manager.service.ts:154](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/services/accessibility-manager.service.ts#L154)
Get ARIA label for year
#### Parameters
##### year
`number`
#### Returns
`string`
#### Implementation of
[`IAccessibilityManagerService`](../interfaces/IAccessibilityManagerService.md).[`getAriaLabelForYear`](../interfaces/IAccessibilityManagerService.md#getarialabelforyear)
***
### getDateStateDescription()
> **getDateStateDescription**(`date`, `selectedDate`, `selectedDateRange`, `isRangeSelection`, `isDateDisabledFn`, `isTodayFn`): `string`
Defined in: [Date/services/accessibility-manager.service.ts:112](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/services/accessibility-manager.service.ts#L112)
Get date state description for screen readers
#### Parameters
##### date
`Date`
The date to check
##### selectedDate
Currently selected date
`Date` | `null`
##### selectedDateRange
[`DateRange`](../interfaces/DateRange.md)
Currently selected date range
##### isRangeSelection
`boolean`
Whether range selection mode is active
##### isDateDisabledFn
(`date`) => `boolean`
Function to check if date is disabled
##### isTodayFn
(`date`) => `boolean`
Function to check if date is today
#### Returns
`string`
State description string
#### Implementation of
[`IAccessibilityManagerService`](../interfaces/IAccessibilityManagerService.md).[`getDateStateDescription`](../interfaces/IAccessibilityManagerService.md#getdatestatedescription)
***
### manageFocus()
> **manageFocus**(`direction`, `focusedDate`, `selectedDate`, `currentDate`, `calendarDaysBinding`, `generateCalendarDaysFn`, `updateDateFn?`): `Date`
Defined in: [Date/services/accessibility-manager.service.ts:30](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/services/accessibility-manager.service.ts#L30)
Handles focus management including view updates and navigation
#### Parameters
##### direction
Direction to move focus
`"right"` | `"left"` | `"up"` | `"down"` | `"start"` | `"end"` | `"prevMonth"` | `"nextMonth"` | `"prevYear"` | `"nextYear"`
##### focusedDate
Currently focused date
`Date` | `null`
##### selectedDate
Selected date as fallback
`Date` | `null`
##### currentDate
`Date`
Current displayed date
##### calendarDaysBinding
`Binding`\<[`CalendarDate`](../interfaces/CalendarDate.md)[]\>
Binding for calendar days
##### generateCalendarDaysFn
() => [`CalendarDate`](../interfaces/CalendarDate.md)[]
Function to generate calendar days
##### updateDateFn?
(`date`) => `void`
Function to handle date updates if navigation is needed
#### Returns
`Date`
The new focused date
#### Implementation of
[`IAccessibilityManagerService`](../interfaces/IAccessibilityManagerService.md).[`manageFocus`](../interfaces/IAccessibilityManagerService.md#managefocus)
***
### selectFocusedDate()
> **selectFocusedDate**(`focusedDate`, `selectDateFn`): `boolean`
Defined in: [Date/services/accessibility-manager.service.ts:74](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/services/accessibility-manager.service.ts#L74)
Select the currently focused date
#### Parameters
##### focusedDate
Currently focused date
`Date` | `null`
##### selectDateFn
(`date`) => `void`
Function to select the date
#### Returns
`boolean`
Boolean indicating if a selection was made
#### Implementation of
[`IAccessibilityManagerService`](../interfaces/IAccessibilityManagerService.md).[`selectFocusedDate`](../interfaces/IAccessibilityManagerService.md#selectfocuseddate)