Use Real Headings for Widget Titles
Makes classic sidebar widget titles proper H2 headings, so screen reader users can jump between widgets with heading navigation.
Opens WPIDE on
Code
// Heading level used for widget titles.
$wpide_widget_heading = 'h2';
add_filter( 'dynamic_sidebar_params', function ( $params ) use ( $wpide_widget_heading ) {
if ( empty( $params[0] ) || ! is_array( $params[0] ) ) {
return $params;
}
$tag = tag_escape( $wpide_widget_heading );
if ( isset( $params[0]['before_title'] ) && ! preg_match( '#^\s*<h[1-6]#i', $params[0]['before_title'] ) ) {
$params[0]['before_title'] = '<' . $tag . ' class="widget-title widgettitle">';
$params[0]['after_title'] = '</' . $tag . '>';
}
return $params;
} );
Notes
Change $wpide_widget_heading to h3 if your theme already uses H2 for the main sections around the sidebar.
How to add this snippet
- Install WPIDE on your WordPress site (it is free) and open Code Snippets.
- Use snippet above adds it from the library in one click. Or copy the code into a new snippet with the same code type.
- It is added inactive: review the code and settings, then switch it on.