In Genesis Facebook group a user asked:
I have very long post titles and when I did an accessibility test, there were warnings that the alt tags were too long. So I used the genesis_get_image filter and re-created the image. Is there a better way? I tried the standard WP ‘post_thumbnail_html’ but that only worked for non-Genesis loops, like in Bill Erickson’s display_posts_shortcode (love that!).
In this article I show how we can
- add a function to truncate post titles
- remove the standard featured image output by Genesis per theme settings on content archives
- add custom featured image output in which alt text of featured image is set to truncated post title text
Sample screenshots for a post titled “Sample Post With Threaded Comments”:
Before:

After:

Add the following in child theme’s functions.php:
| // Function to truncate post titles | |
| function customTitle( $limit ) { | |
| $title = get_the_title( $post->ID ); | |
| if ( strlen( $title ) > $limit ) { | |
| $title = substr( $title, 0, $limit ) . '...'; | |
| } | |
| return $title; | |
| } | |
| // genesis_entry_header action hook is used here because it is the one immediately above genesis_entry_content. Remember: Hook as late as possible. | |
| add_action( 'genesis_entry_header', 'sk_custom_post_image' ); | |
| function sk_custom_post_image() { | |
| // if we are on a content archive page and featured images are set to be shown on content archives in Genesis theme settings | |
| if ( ! is_singular() && genesis_get_option( 'content_archive_thumbnail' ) ) { | |
| // remove the standard featured image output by Genesis per theme settings | |
| remove_action( 'genesis_entry_content', 'genesis_do_post_image', 8 ); | |
| // add custom featured image output | |
| add_action( 'genesis_entry_content', 'sk_do_post_image', 8 ); | |
| } | |
| } | |
| // Function to set the alt text of featured image to truncated post title text | |
| function sk_do_post_image() { | |
| $img = genesis_get_image( array( | |
| 'format' => 'html', | |
| 'size' => genesis_get_option( 'image_size' ), | |
| 'context' => 'archive', | |
| 'attr' => genesis_parse_attr( 'entry-image', array ( 'alt' => customTitle( 20 ) ) ), | |
| ) ); | |
| if ( ! empty( $img ) ) { | |
| printf( '<a href="%s" aria-hidden="true">%s</a>', get_permalink(), $img ); | |
| } | |
| } | 
Change 20 in the above the number of characters you wish to be shown.
Sources:
http://www.hongkiat.com/blog/wordpress-tips-tricks-2015/
genesis/lib/structure/post.php