是的,可以使用JavaScript来检测用户计算机上是否正在运行屏幕阅读器。以下是一个简单的示例代码:
function checkScreenReader() {
const isMac = /Mac/.test(window.navigator.platform);
const isWindows = /Win/.test(window.navigator.platform);
const isLinux = /Linux/.test(window.navigator.platform);
const isMacSafari = isMac && /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
const isWindowsEdge = /Edge/.test(navigator.userAgent);
const isWindowsExplorer = /MSIE/.test(navigator.userAgent);
const isMacFirefox = /Mac/.test(window.navigator.platform) && /firefox/i.test(navigator.userAgent);
const isMacChrome = /Mac/.test(window.navigator.platform) && /chrome/i.test(navigator.userAgent);
if (isMacSafari || isWindowsEdge || isWindowsExplorer || isMacFirefox || isMacChrome) {
return false;
}
const hasAria = document.querySelector('[aria-hidden="true"]');
const hasRole = document.querySelector('[role]');
const hasTabindex = document.querySelector('[tabindex]');
if (hasAria || hasRole || hasTabindex) {
return true;
}
return false;
}
console.log(checkScreenReader());
这个函数会检查用户计算机上是否正在运行屏幕阅读器。如果正在运行,则返回true
,否则返回false
。
需要注意的是,这个函数并不是100%准确的,因为屏幕阅读器的检测方式有很多种,而且每个屏幕阅读器的实现方式都不同。因此,这个函数只是一个简单的示例,可能无法涵盖所有情况。
领取专属 10元无门槛券
手把手带您无忧上云