如何使Leaflet tile图层可访问

时间:2014-11-04 21:33:47

标签: map accessibility leaflet tiles alt

如何为图块层添加'alt'标记,并提高应用程序的可访问性分数,特别是 Esri.WorldGrayCanvas ,但{{3}处找到的任何图块}}?

2 个答案:

答案 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);
    });
}