如何为图块层添加'alt'标记,并提高应用程序的可访问性分数,特别是 Esri.WorldGrayCanvas ,但{{3}处找到的任何图块}}?
答案 0 :(得分:3)
您可以通过挂钩到tileload事件来加载平铺图像:
esriGray.on('tileload', function (tileEvent) {
tileEvent.tile.setAttribute('alt', 'Map tile image');
});
这样,即使在缩放/平移之后,图像也始终具有alt标记,并且您不必使用Jquery。
答案 1 :(得分:0)
下面列出了可以在地图加载中访问的切片的解决方案,但是当放大/缩小时,切片的解决方案此时已识别不。
注意:由于下面的解决方案引用了jQuery,请确保在代码中引用jQuery的JavaScript。
设置底图变量后,例如:
var esriGray = L.tileLayer('https://server.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Light_Gray_Base/MapServer/tile/{z}/{y}/{x}', {
attribution: 'Map Tiles © Esri — Esri, DeLorme, NAVTEQ',
maxZoom: 16
});
添加一个jQuery文档就绪函数,为Leaflet tile窗格提供一个属性。接下来触发该功能,指示每个地图图块将被“地图图块图像”引用。及其索引号。
注意:此解决方案仅适用于应用程序加载时,一旦用户缩放/平移,替代图像将消失。
$(document).on('ready', function(){
addMapTileAttr('.leaflet-tile-pane img')
});
function addMapTileAttr(styleClass) {
var selector = $(styleClass);
selector.each(
function(index) {
$(this).attr('alt',"Map tile image " + index);
});
}