Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/src/vs/platform/accessibility/common/accessibility.ts
3296 views
1
/*---------------------------------------------------------------------------------------------
2
* Copyright (c) Microsoft Corporation. All rights reserved.
3
* Licensed under the MIT License. See License.txt in the project root for license information.
4
*--------------------------------------------------------------------------------------------*/
5
6
import { Event } from '../../../base/common/event.js';
7
import { RawContextKey } from '../../contextkey/common/contextkey.js';
8
import { createDecorator } from '../../instantiation/common/instantiation.js';
9
10
export const IAccessibilityService = createDecorator<IAccessibilityService>('accessibilityService');
11
12
export interface IAccessibilityService {
13
readonly _serviceBrand: undefined;
14
15
readonly onDidChangeScreenReaderOptimized: Event<void>;
16
readonly onDidChangeReducedMotion: Event<void>;
17
18
alwaysUnderlineAccessKeys(): Promise<boolean>;
19
isScreenReaderOptimized(): boolean;
20
isMotionReduced(): boolean;
21
getAccessibilitySupport(): AccessibilitySupport;
22
setAccessibilitySupport(accessibilitySupport: AccessibilitySupport): void;
23
alert(message: string): void;
24
status(message: string): void;
25
}
26
27
export const enum AccessibilitySupport {
28
/**
29
* This should be the browser case where it is not known if a screen reader is attached or no.
30
*/
31
Unknown = 0,
32
33
Disabled = 1,
34
35
Enabled = 2
36
}
37
38
export const CONTEXT_ACCESSIBILITY_MODE_ENABLED = new RawContextKey<boolean>('accessibilityModeEnabled', false);
39
40
export interface IAccessibilityInformation {
41
label: string;
42
role?: string;
43
}
44
45
export function isAccessibilityInformation(obj: any): obj is IAccessibilityInformation {
46
return obj && typeof obj === 'object'
47
&& typeof obj.label === 'string'
48
&& (typeof obj.role === 'undefined' || typeof obj.role === 'string');
49
}
50
51
export const ACCESSIBLE_VIEW_SHOWN_STORAGE_PREFIX = 'ACCESSIBLE_VIEW_SHOWN_';
52
53