我正在尝试从地图api的所有部分删除tabindex,我已经尝试过这个post的答案:
google.maps.event.addListener(MAP, "tilesloaded", function(){
[].slice.apply(document.querySelectorAll('#map a')).forEach(function(item) {
item.setAttribute('tabindex','-1');
});
})
但它不起作用,我在一个简单的地图上尝试然后添加到应用程序,所以这里是简单的页面:
<!DOCTYPE html>
<html>
<head>
<title>Simple Map</title>
<meta name="viewport" content="initial-scale=1.0">
<meta charset="utf-8">
<style>
/* Always set the map height explicitly to define the size of the div
* element that contains the map. */
#map {
height: 50%;
}
/* Optional: Makes the sample page fill the window. */
html, body {
height: 100%;
margin: 0;
padding: 0;
}
</style>
</head>
<body>
<input type="text">
<div id="map"></div>
<input type="text">
<script>
var map;
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: -34.397, lng: 150.644},
zoom: 8
});
}
</script>
<script src="https://maps.googleapis.com/maps/api/js?&callback=initMap"
async defer></script>
</body>
</html>
答案 0 :(得分:1)
如果您希望地图不是互动的,那么使用Static Maps API似乎是一个合理的选择
编辑:根据您的评论,如果您不想为非屏幕阅读器用户提供完全功能,您可以选择将地图插入<div aria-hidden="true">
标签,该标签应禁用屏幕阅读器来阅读它。您还可以在地图上方添加“跳过地图”链接,让键盘用户(没有屏幕阅读器)绕过地图。