Make WordPress Core


Ignore:
Timestamp:
05/22/2017 08:28:43 PM (8 years ago)
Author:
afercia
Message:

Themes: Improve the theme Custom Logo accessibility.

Uses the Site title as fallback value for the Custom Logo alt attribute when the original alt attribute is empty.

Props sami.keijonen, joedolson, sstoqnov, nobremarcos, gma992, LiamMcArthur, jjcomack.
Fixes #38768.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/general/template.php

    r40564 r40817  
    308308
    309309        $this->_set_custom_logo();
     310
     311        $custom_logo_attr = array(
     312            'class'    => 'custom-logo',
     313            'itemprop' => 'logo',
     314        );
     315
     316        // If the logo alt attribute is empty, use the site title.
     317        $image_alt = get_post_meta( $this->custom_logo_id, '_wp_attachment_image_alt', true );
     318        if ( empty( $image_alt ) ) {
     319            $custom_logo_attr['alt'] = get_bloginfo( 'name', 'display' );
     320        }
     321
    310322        $home_url = get_home_url( $blog_id, '/' );
    311         $image    = wp_get_attachment_image( $this->custom_logo_id, 'full', false, array(
    312             'class'     => 'custom-logo',
    313             'itemprop'  => 'logo',
    314         ) );
     323        $image    = wp_get_attachment_image( $this->custom_logo_id, 'full', false, $custom_logo_attr );
    315324        restore_current_blog();
    316325
     
    329338
    330339        $this->_set_custom_logo();
     340
     341        $custom_logo_attr = array(
     342            'class'    => 'custom-logo',
     343            'itemprop' => 'logo',
     344        );
     345
     346        // If the logo alt attribute is empty, use the site title.
     347        $image_alt = get_post_meta( $this->custom_logo_id, '_wp_attachment_image_alt', true );
     348        if ( empty( $image_alt ) ) {
     349            $custom_logo_attr['alt'] = get_bloginfo( 'name', 'display' );
     350        }
     351
     352        $image = wp_get_attachment_image( $this->custom_logo_id, 'full', false, $custom_logo_attr );
     353
     354        $this->expectOutputString( '<a href="http://' . WP_TESTS_DOMAIN . '/" class="custom-logo-link" rel="home" itemprop="url">' . $image . '</a>' );
     355        the_custom_logo();
     356    }
     357
     358    /**
     359     * @group custom_logo
     360     * @ticket 38768
     361     */
     362    function test_the_custom_logo_with_alt() {
     363        $this->_set_custom_logo();
     364
     365        $image_alt = 'My alt attribute';
     366
     367        update_post_meta( $this->custom_logo_id, '_wp_attachment_image_alt', $image_alt );
     368
    331369        $image = wp_get_attachment_image( $this->custom_logo_id, 'full', false, array(
    332             'class'     => 'custom-logo',
    333             'itemprop'  => 'logo',
     370            'class'    => 'custom-logo',
     371            'itemprop' => 'logo',
    334372        ) );
    335373
Note: See TracChangeset for help on using the changeset viewer.