| // Copyright 2025 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef UI_ACCESSIBILITY_PLATFORM_ASSISTIVE_TECH_H_ |
| #define UI_ACCESSIBILITY_PLATFORM_ASSISTIVE_TECH_H_ |
| |
| #include <string_view> |
| |
| #include "base/component_export.h" |
| |
| namespace ui { |
| |
| // These values are persisted to logs. Entries should not be renumbered and |
| // numeric values should never be reused. |
| // |
| // LINT.IfChange(AssistiveTech) |
| enum class AssistiveTech { |
| // Use kUninitialized if still waiting for the assistive tech to be computed, |
| // because some platforms need to scan modules/processes which is done |
| // off-thread. |
| kNone = 0, |
| kUninitialized = 1, |
| kChromeVox = 2, |
| kJaws = 3, |
| kNarrator = 4, |
| kNvda = 5, |
| kOrca = 6, |
| kSupernova = 7, |
| kTalkback = 8, |
| kVoiceOver = 9, |
| kZoomText = 10, |
| kZdsr = 11, |
| kGenericScreenReader = 12, |
| kWinMagnifier = 13, |
| kMaxValue = 13 |
| }; |
| // LINT.ThenChange(//tools/metrics/histograms/metadata/accessibility/enums.xml:AssistiveTech) |
| |
| // Returns true if the given assistive tech is a screen reader. |
| COMPONENT_EXPORT(AX_PLATFORM) bool IsScreenReader(AssistiveTech assistive_tech); |
| COMPONENT_EXPORT(AX_PLATFORM) |
| std::string_view GetAssistiveTechString(AssistiveTech assistive_tech); |
| |
| } // namespace ui |
| |
| #endif // UI_ACCESSIBILITY_PLATFORM_ASSISTIVE_TECH_H_ |