我想在標記物件上添加一個 aria-label。目前我有一個加載所有標記的函式,并希望將 aria-label 作為標記的屬性。目前,我在創建標記物件時將 aria 標簽作為屬性,但我認為這可能是錯誤的。如何將 aria 標簽添加到標記?
loadLocationMarkers({ lat, lng }, idx) {
const markerIcon = this.createIcon(idx);
const markerObj = new google.maps.Marker({
icon: markerIcon,
index: idx,
selected: idx === this.selected,
map: this.map,
position: new google.maps.LatLng(lat, lng),
optimized: false,
zIndex: this.calculateZIndex(idx),
'aria-label': 'Location Marker',
});
if (markerObj.selected) {
this.selectedMarkerObj = markerObj;
}
markerObj.addListener('click', () => {
const index = markerObj.get('index');
this.dispatch(updateSelected(index), this.handleClick(markerObj));
});
return markerObj;
}
uj5u.com熱心網友回復:
使用titlewhich 將設定aria-label.
https://developers.google.com/maps/documentation/javascript/reference/marker#MarkerOptions.title
new google.maps.Marker({
icon: markerIcon,
index: idx,
selected: idx === this.selected,
map: this.map,
position: new google.maps.LatLng(lat, lng),
optimized: false,
zIndex: this.calculateZIndex(idx),
title: 'Location Marker', // <--- added this
});
來自簡單標記樣本的輸出title="Hello World!"。
<div
aria-label="Hello World!"
role="img"
tabindex="-1"
...
>
<img
...
/><map
><area
tabindex="-1"
title="Hello World!"
...
/></map>
</div>
注意:
tabindex是-1因為標記上沒有事件偵聽器。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/426576.html
標籤:javascript html 谷歌地图 可访问性 网络可访问性
上一篇:如何僅替換影像源的一部分?
