In one of our recent plugin versions, we introduced a change where the featured images in views such as List and Month Views no longer link to the single event page. This was an intentional change aimed at improving accessibility (A11Y) for users who rely on screen readers or keyboard navigation.
When both the event image and the title link to the same page, it creates what’s known as redundant links, which can confuse assistive technologies. According to accessibility standards like WCAG 2.1 (specifically criteria 2.4.4 and 1.1.1), redundant or ambiguous links can make it harder for users with visual or cognitive impairments to understand and navigate your content effectively.
That said, we completely understand that this change may affect how your site’s visitors interact with event listings, especially those who are used to clicking or tapping on the image.
If you would like to bring back this functionality, here is an easy way to bring back the featured image link without needing to copy or create template files manually.
Add the PHP snippets below to your theme’s functions.php file or use the Code Snippets plugin.
For the List View
add_filter( 'tribe_template_html:events/v2/list/event/featured-image', function ( $html, $file, $name, $template ) {
$event = $template->get( 'event' );
// Build anchor output
$anchor_open = sprintf(
'<a href="%s" title="%s" rel="bookmark" class="tribe-events-calendar-list__event-featured-image-link" tabindex="-1" aria-hidden="true">',
esc_url( $event->permalink ),
esc_attr( $event->title )
);
// Wrap img with anchor
$html = preg_replace(
'/(<img[^>]*>)/',
$anchor_open . '$1</a>',
$html
);
return $html;
}, 10, 4 );
For the Month View
add_filter(
'tribe_template_html:events/v2/month/calendar-body/day/calendar-events/calendar-event/tooltip/featured-image',
function ( $html, $file, $name, $template ) {
$event = $template->get( 'event' );
// Build anchor output
$anchor_open = sprintf(
'<a href="%s" title="%s" rel="bookmark" class="tribe-events-calendar-month__calendar-event-tooltip-featured-image-link" tabindex="-1" aria-hidden="true">',
esc_url( $event->permalink ),
esc_attr( $event->title )
);
// Wrap img with anchor
$html = preg_replace(
'/(<img[^>]*>)/',
$anchor_open . '$1</a>',
$html
);
return $html;
}, 10, 4 );