Как назначить ярлык арии в сторону боковой панели
Я просматриваю сайт клиента, используя расширение Chrome Siteimprove, чтобы проверить его на соответствие. Я получаю ошибку "Ориентиры с одинаковыми именами" на двух сторонах в одной боковой панели. В коде боковой панели реестра в functions.php у меня есть:
'before_widget' => '<aside id="%1$s" class="widget %2$s" aria-label="Job Openings and Events">',
Это работает и присваивает метку, но на этой боковой панели есть два виджета (текстовый виджет и виджет списка событий), и Wordpress создает отдельную область для каждого с одинаковой меткой. Есть ли какое-то n-е назначение или что-то, что я могу сделать, чтобы назначить каждому из них на этой боковой панели другую метку, чтобы предотвратить избыточность?
1 ответ
Смотрите этот пример,
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');
Надеюсь, это поможет вам. Для получения дополнительной информации, пожалуйста, посетите.
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 во все виджеты.