@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
156 lines (79 loc) • 3.25 kB
Markdown
[**@uplink-protocol/form-controller v0.3.1**](../README.md)
***
[@uplink-protocol/form-controller](../globals.md) / IAccessibilityService
# Interface: IAccessibilityService
Defined in: [Date/interfaces/accessibility.service.interfaces.ts:8](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/interfaces/accessibility.service.interfaces.ts#L8)
Interface for the AccessibilityService
Responsible for accessibility-related functionality such as screen reader support
and keyboard navigation
## Methods
### getAccessibleDateLabel()
> **getAccessibleDateLabel**(`date`, `localeMonthNameFn?`): `string`
Defined in: [Date/interfaces/accessibility.service.interfaces.ts:14](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/interfaces/accessibility.service.interfaces.ts#L14)
Get accessible date label for screen readers
#### Parameters
##### date
`Date`
The date to get a label for
##### localeMonthNameFn?
(`month`) => `string`
#### Returns
`string`
Accessible date label string
***
### getDateStateDescription()
> **getDateStateDescription**(`date`, `currentState`): `string`
Defined in: [Date/interfaces/accessibility.service.interfaces.ts:22](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/interfaces/accessibility.service.interfaces.ts#L22)
Get date state description for screen readers (today, selected, disabled, etc.)
#### Parameters
##### date
`Date`
The date to check
##### currentState
Current state data required for determination
###### isDateDisabledFn
(`date`) => `boolean`
###### isRangeSelection
`boolean`
###### isTodayFn
(`date`) => `boolean`
###### selectedDate
`Date` \| `null`
###### selectedDateRange
[`DateRange`](DateRange.md)
#### Returns
`string`
State description string
***
### moveFocus()
> **moveFocus**(`direction`, `currentFocusedDate`, `selectedDate`): `Date`
Defined in: [Date/interfaces/accessibility.service.interfaces.ts:40](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/interfaces/accessibility.service.interfaces.ts#L40)
Move focus to a new date
#### Parameters
##### direction
Direction to move focus
`"right"` | `"left"` | `"up"` | `"down"` | `"start"` | `"end"` | `"prevMonth"` | `"nextMonth"` | `"prevYear"` | `"nextYear"`
##### currentFocusedDate
Currently focused date
`Date` | `null`
##### selectedDate
Currently selected date (fallback if no focused date)
`Date` | `null`
#### Returns
`Date`
New focused date
***
### selectFocusedDate()
> **selectFocusedDate**(`focusedDate`, `selectDateFn`): `boolean`
Defined in: [Date/interfaces/accessibility.service.interfaces.ts:52](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Date/interfaces/accessibility.service.interfaces.ts#L52)
Handle selecting the currently focused date
#### Parameters
##### focusedDate
Currently focused date
`Date` | `null`
##### selectDateFn
(`date`) => `void`
Function to call to select the date
#### Returns
`boolean`
Boolean indicating if a selection was made