如何将aria标签分配给侧边栏

时间:2018-01-02 23:23:25

标签: php wordpress function wai-aria ada-compliance

我使用Siteimprove的chrome扩展程序浏览客户的网站以测试合规性。我得到了一个名字相同的#34;#34;一个侧边栏区域中两个旁边的错误。在functions.php的寄存器侧边栏代码中,我有:

min_reading = float('inf')
max_reading = float('-inf')
min_days = []
max_days = []

for d, r in zip(day[1:], reading):
    if r < min_reading:
        min_reading = r
        min_days = [d]
    elif r == min_reading:
        min_days.append(d)
    if r > max_reading:
        max_reading = r
        max_days = [d]
    elif r == max_reading:
        max_days.append(d)

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

2 个答案:

答案 0 :(得分: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 Function to Generate Class
  2. Add class to specific widget in WordPress
  3. Wordpress : Change title of sidebar widget dynamically Ask

答案 1 :(得分: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