Доступность
Проблемы с доступностью в приложениях Electron аналогичны веб-сайтам, поскольку они оба в конечном итоге являются HTML.
Активация специальных возможностей вручную
Electron-приложения будут автоматически включать специальные возможности при наличии ассистивных технологий (например, JAWS на Windows или VoiceOver на macOS). За подробностями обратитесь к документации Chrome о доступности.
Вы также можете вручную переключать эти возможности либо в вашем приложении Electron, либо установив флаги во встроенном программном обеспечении сторонних производителей.
Использование API Electron
Используя app.setAccessibilitySupportEnabled(enabled)
API, вы можете вручную показать дерево доступности Chrome пользователям в настройках приложения. Имейте в виду, что системные ассистивные утилиты пользователя имеют приоритет над этим параметром и будут переопределять его.
В программах сторонних производителей
macOS
На macOS сторонняя ассистивная технология может переключать специальные возможности внутри Electron приложения путем программной установки AXManualAccessibility
атрибута:
CFStringRef kAXManualAccessibility = CFSTR("AXManualAccessibility");
+ (void)enableAccessibility:(BOOL)enable inElectronApplication:(NSRunningApplication *)app
{
AXUIElementRef appRef = AXUIElementCreateApplication(app.processIdentifier);
if (appRef == nil)
return;
CFBooleanRef value = enable ? kCFBooleanTrue : kCFBooleanFalse;
AXUIElementSetAttributeValue(appRef, kAXManualAccessibility, value);
CFRelease(appRef);
}