0

我正在使用 Siteimprove 的 chrome 扩展程序浏览客户的网站以测试合规性。我在一个侧边栏区域的两个侧面收到“具有相同名称的地标”错误。在functions.php的注册侧边栏代码中,我有:

'before_widget' => '<aside id="%1$s" class="widget %2$s" aria-label="Job Openings and Events">',

这正在工作并分配标签,但此侧边栏中有两个小部件(文本小部件和事件列表小部件),Wordpress 正在为每个小部件创建一个具有相同标签的边栏。是否有某种类型的第 n 个分配或者我可以做些什么来为这个侧边栏中的每个旁边分配一个不同的标签以防止冗余?

4

2 回答 2

0

看这个例子,

function my_edit_widget_func($params) {
$params[0]['before_widget'] = '<aside id="%1$s" class="widget %2$s" aria-label="' . $params[0]['widget_name'] . '">' ;
return $params;
}
add_filter('dynamic_sidebar_params', 'my_edit_widget_func');

希望这会帮助你。欲了解更多信息,请访问。

  1. 生成类的dynamic_sidebar函数
  2. 将类添加到 WordPress 中的特定小部件
  3. Wordpress:动态更改侧边栏小部件的标题
于 2018-01-03T05:59:56.023 回答
0
register_sidebar(array(  
    'name' => 'Footer #2',  
    'id'   => 'footer2',  
    'description'   => 'Footer widget 2',  
    'before_widget' => '<aside role="complementary" id="%1$s" class="widget-content footer-widget" aria-label="[title]">',  
    'after_widget'  => '</aside>',  
    'before_title'  => '<h2 class="widget-title footer-widget-title">',  
    'after_title'   => '</h2>' ,
));

    function stp_accessibility_widget_func($params) {
    $name = isset($params[0]['widget_name']) ? $params[0]['widget_name'] : "";
    $params[0]['before_widget'] = str_replace('[title]', esc_attr($name), $params[0]['before_widget'] );
    return $params;
}
add_filter('dynamic_sidebar_params', 'stp_accessibility_widget_func');

使用此解决方案,它将在所有小部件中添加 aria-label

于 2020-05-03T06:09:31.207 回答