stream-chat-react
Version:
React components to create chat conversations or livestream style chat
26 lines • 1.03 kB
TypeScript
/**
* Right now, a11y in ChatView does one thing: it provides correct ARIA
* relationships for tabs.
*
* Specifically:
* - ChatView.Selector is role="tablist".
* - Each selector button is role="tab" with:
* - unique id
* - aria-controls=<panel-id>
* - aria-selected
* - tabIndex=0 (all tabs tabbable)
* - Active panel container is role="tabpanel" with:
* - id=<panel-id>
* - aria-labelledby=<tab-id>
*
* The a11y helper module exists to generate and share those tab/panel IDs per
* ChatView instance, so tab ↔ tabpanel linkage stays correct and collision-safe
* when multiple ChatViews exist.
*/
export type ChatViewA11yContextValue = {
chatViewPanelIds: Record<'channels' | 'threads', string>;
chatViewTabIds: Record<'channels' | 'threads', string>;
};
export declare const DEFAULT_CHAT_VIEW_A11Y_CONTEXT_VALUE: ChatViewA11yContextValue;
export declare const createChatViewA11yContextValue: (chatViewId: string) => ChatViewA11yContextValue;
//# sourceMappingURL=ChatView.a11y.utility.d.ts.map