Accessibility: Improve the "Hello Dolly" accessibility.
- adds a visually hidden text to give context to the lyrics - the text is `Quote from Hello Dolly song, by Jerry Herman:` - adds a `lang` HTML attribute (when the admin language is not English) to better support assistive technologies - adds a `dir` HTML attribute to better support the LTR English lyrics with RTL languages - CSS adjustments Props audrasjb, SergeyBiryukov, danieltj, birgire, karmatosed, desrosj, afercia. Fixes #43632. git-svn-id: https://develop.svn.wordpress.org/trunk@44929 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
82be24c885
commit
d26542632e
@ -1,14 +1,14 @@
|
|||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* @package Hello_Dolly
|
* @package Hello_Dolly
|
||||||
* @version 1.7.1
|
* @version 1.7.2
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
Plugin Name: Hello Dolly
|
Plugin Name: Hello Dolly
|
||||||
Plugin URI: http://wordpress.org/plugins/hello-dolly/
|
Plugin URI: http://wordpress.org/plugins/hello-dolly/
|
||||||
Description: This is not just a plugin, it symbolizes the hope and enthusiasm of an entire generation summed up in two words sung most famously by Louis Armstrong: Hello, Dolly. When activated you will randomly see a lyric from <cite>Hello, Dolly</cite> in the upper right of your admin screen on every page.
|
Description: This is not just a plugin, it symbolizes the hope and enthusiasm of an entire generation summed up in two words sung most famously by Louis Armstrong: Hello, Dolly. When activated you will randomly see a lyric from <cite>Hello, Dolly</cite> in the upper right of your admin screen on every page.
|
||||||
Author: Matt Mullenweg
|
Author: Matt Mullenweg
|
||||||
Version: 1.7.1
|
Version: 1.7.2
|
||||||
Author URI: http://ma.tt/
|
Author URI: http://ma.tt/
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -42,43 +42,59 @@ Dolly, never go away
|
|||||||
Promise, you'll never go away
|
Promise, you'll never go away
|
||||||
Dolly'll never go away again";
|
Dolly'll never go away again";
|
||||||
|
|
||||||
// Here we split it into lines
|
// Here we split it into lines.
|
||||||
$lyrics = explode( "\n", $lyrics );
|
$lyrics = explode( "\n", $lyrics );
|
||||||
|
|
||||||
// And then randomly choose a line
|
// And then randomly choose a line.
|
||||||
return wptexturize( $lyrics[ mt_rand( 0, count( $lyrics ) - 1 ) ] );
|
return wptexturize( $lyrics[ mt_rand( 0, count( $lyrics ) - 1 ) ] );
|
||||||
}
|
}
|
||||||
|
|
||||||
// This just echoes the chosen line, we'll position it later
|
// This just echoes the chosen line, we'll position it later.
|
||||||
function hello_dolly() {
|
function hello_dolly() {
|
||||||
$chosen = hello_dolly_get_lyric();
|
$chosen = hello_dolly_get_lyric();
|
||||||
echo "<p id='dolly'>$chosen</p>";
|
$lang = '';
|
||||||
|
if ( 'en_' !== substr( get_user_locale(), 0, 3 ) ) {
|
||||||
|
$lang = ' lang="en"';
|
||||||
|
}
|
||||||
|
|
||||||
|
printf(
|
||||||
|
'<p id="dolly"><span class="screen-reader-text">%s </span><span dir="ltr"%s>%s</span></p>',
|
||||||
|
__( 'Quote from Hello Dolly song, by Jerry Herman:' ),
|
||||||
|
$lang,
|
||||||
|
$chosen
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Now we set that function up to execute when the admin_notices action is called
|
// Now we set that function up to execute when the admin_notices action is called.
|
||||||
add_action( 'admin_notices', 'hello_dolly' );
|
add_action( 'admin_notices', 'hello_dolly' );
|
||||||
|
|
||||||
// We need some CSS to position the paragraph
|
// We need some CSS to position the paragraph.
|
||||||
function dolly_css() {
|
function dolly_css() {
|
||||||
// This makes sure that the positioning is also good for right-to-left languages
|
|
||||||
$x = is_rtl() ? 'left' : 'right';
|
|
||||||
|
|
||||||
echo "
|
echo "
|
||||||
<style type='text/css'>
|
<style type='text/css'>
|
||||||
#dolly {
|
#dolly {
|
||||||
float: $x;
|
float: right;
|
||||||
padding-$x: 15px;
|
padding: 5px 10px;
|
||||||
padding-top: 5px;
|
|
||||||
margin: 0;
|
margin: 0;
|
||||||
font-size: 11px;
|
font-size: 12px;
|
||||||
|
line-height: 1.6666;
|
||||||
|
}
|
||||||
|
.rtl #dolly {
|
||||||
|
float: left;
|
||||||
}
|
}
|
||||||
.block-editor-page #dolly {
|
.block-editor-page #dolly {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
@media screen and (max-width: 782px) {
|
||||||
|
#dolly,
|
||||||
|
.rtl #dolly {
|
||||||
|
float: none;
|
||||||
|
padding-left: 0;
|
||||||
|
padding-right: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
";
|
";
|
||||||
}
|
}
|
||||||
|
|
||||||
add_action( 'admin_head', 'dolly_css' );
|
add_action( 'admin_head', 'dolly_css' );
|
||||||
|
|
||||||
|
|
||||||
|
@ -158,7 +158,7 @@ class Tests_Ajax_Update_Plugin extends WP_Ajax_UnitTestCase {
|
|||||||
'plugin' => 'hello.php',
|
'plugin' => 'hello.php',
|
||||||
'pluginName' => 'Hello Dolly',
|
'pluginName' => 'Hello Dolly',
|
||||||
'errorMessage' => 'Plugin update failed.',
|
'errorMessage' => 'Plugin update failed.',
|
||||||
'oldVersion' => 'Version 1.7.1',
|
'oldVersion' => 'Version 1.7.2',
|
||||||
'newVersion' => '',
|
'newVersion' => '',
|
||||||
'debug' => array( 'The plugin is at the latest version.' ),
|
'debug' => array( 'The plugin is at the latest version.' ),
|
||||||
),
|
),
|
||||||
|
Loading…
Reference in New Issue
Block a user