Как назначить ярлык арии в сторону боковой панели

Я просматриваю сайт клиента, используя расширение 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');

Надеюсь, это поможет вам. Для получения дополнительной информации, пожалуйста, посетите.

  1. dynamic_sidebar Функция для создания класса
  2. Добавить класс для конкретного виджета в WordPress
  3. Wordpress: динамически изменять заголовок виджета боковой панели
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 во все виджеты.

Другие вопросы по тегам