Version Description
- Bug fix: Don't create a duplicate ID when multiple longdesc attributes used on one page
Download this release
Release Info
Developer | joedolson |
Plugin | WP Accessibility |
Version | 1.4.6 |
Comparing to | |
See all releases |
Code changes from version 1.4.0 to 1.4.6
- css/editor-style.css +1 -2
- css/wpa-style.css +3 -1
- imgs/alt-missing.png +0 -0
- imgs/alt-same.png +0 -0
- js/longdesc.button.js +19 -12
- js/wpa.labels.js +20 -0
- lang/wp-accessibility-en_AU.mo +0 -0
- lang/wp-accessibility-es_ES.mo +0 -0
- lang/wp-accessibility-he_IL.mo +0 -0
- lang/wp-accessibility-hu_HU.mo +0 -0
- lang/wp-accessibility-pl_PL.mo +0 -0
- readme.txt +42 -5
- templates/longdesc-template.php +13 -11
- toolbar/css/a11y-fontsize.css +10 -20
- toolbar/css/a11y.css +2 -17
- wp-accessibility.php +76 -36
css/editor-style.css
CHANGED
@@ -1,5 +1,4 @@
|
|
1 |
.wpa-image-missing-alt {
|
2 |
border: 2px solid red;
|
3 |
-
|
4 |
-
padding: .5em;
|
5 |
}
|
1 |
.wpa-image-missing-alt {
|
2 |
border: 2px solid red;
|
3 |
+
box-shadow: 0 0 2px 2px #ffa;
|
|
|
4 |
}
|
css/wpa-style.css
CHANGED
@@ -108,4 +108,6 @@ div.aligncenter {
|
|
108 |
color: #333;
|
109 |
box-shadow: 0 0 5px;
|
110 |
font-size: 1.4em;
|
111 |
-
}
|
|
|
|
108 |
color: #333;
|
109 |
box-shadow: 0 0 5px;
|
110 |
font-size: 1.4em;
|
111 |
+
}
|
112 |
+
|
113 |
+
label.wpa-screen-reader-text { position: absolute!important; clip: rect(1px,1px,1px,1px); overflow: hidden; color: #000; background: #fff; width: 1px; height: 1px; }
|
imgs/alt-missing.png
ADDED
Binary file
|
imgs/alt-same.png
ADDED
Binary file
|
js/longdesc.button.js
CHANGED
@@ -4,18 +4,25 @@
|
|
4 |
var longdesc = $(this).attr('longdesc');
|
5 |
var text = '<span>Long Description</span>';
|
6 |
var classes = $(this).attr('class');
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
});
|
20 |
}(jQuery));
|
21 |
|
4 |
var longdesc = $(this).attr('longdesc');
|
5 |
var text = '<span>Long Description</span>';
|
6 |
var classes = $(this).attr('class');
|
7 |
+
var class_array = classes.split(' ');
|
8 |
+
var image_id = '';
|
9 |
+
$.each( class_array, function ( index, value ) {
|
10 |
+
if ( value.match( /wp-image-/gi ) ) {
|
11 |
+
image_id = value;
|
12 |
+
}
|
13 |
+
});
|
14 |
+
$(this).attr('class', '');
|
15 |
+
$(this).wrap('<div class="wpa-ld" />')
|
16 |
+
$(this).parent('.wpa-ld').addClass(classes);
|
17 |
+
$(this).parent('.wpa-ld').append('<div class="longdesc" aria-live="assertive"></div>');
|
18 |
+
$(this).parent('.wpa-ld').append('<button>' + text + '</button>');
|
19 |
+
$(this).parent('.wpa-ld').children('.longdesc').hide();
|
20 |
+
$(this).parent('.wpa-ld').children('.longdesc').load( longdesc + ' #desc_' + image_id );
|
21 |
+
$(this).parent('.wpa-ld').children('button').toggle(function () {
|
22 |
+
$(this).parent('.wpa-ld').children('.longdesc').show(150);
|
23 |
+
}, function () {
|
24 |
+
$(this).parent('.wpa-ld').children('.longdesc').hide();
|
25 |
+
});
|
26 |
});
|
27 |
}(jQuery));
|
28 |
|
js/wpa.labels.js
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
(function( $ ) { 'use strict';
|
2 |
+
var wpa_names = [ 's', 'author', 'email', 'url', 'comment' ];
|
3 |
+
$.each( wpa_names, function( index, value ) {
|
4 |
+
if ( value == 'comment' ) {
|
5 |
+
var field = $( 'textarea[name=' + value + ']' );
|
6 |
+
} else {
|
7 |
+
var field = $( 'input[name=' + value + ']' );
|
8 |
+
}
|
9 |
+
var form_id = field.attr( 'id' );
|
10 |
+
if ( form_id ) {
|
11 |
+
var label = $( 'label[for=' + form_id + ']' );
|
12 |
+
var implicit = $( field ).parent( 'label' );
|
13 |
+
if ( !label.length && !implicit.length ) {
|
14 |
+
field.before( "<label for='" + form_id + "' class='wpa-screen-reader-text'>" + wpalabels[value] + "</label>" );
|
15 |
+
}
|
16 |
+
} else {
|
17 |
+
field.attr( 'id', 'wpa_label_' + value ).before( "<label for='wpa_label_" + value + "' class='wpa-screen-reader-text'>" + wpalabels[value] + "</label>" );
|
18 |
+
}
|
19 |
+
});
|
20 |
+
}(jQuery));
|
lang/wp-accessibility-en_AU.mo
ADDED
Binary file
|
lang/wp-accessibility-es_ES.mo
CHANGED
Binary file
|
lang/wp-accessibility-he_IL.mo
CHANGED
Binary file
|
lang/wp-accessibility-hu_HU.mo
ADDED
Binary file
|
lang/wp-accessibility-pl_PL.mo
CHANGED
Binary file
|
readme.txt
CHANGED
@@ -1,10 +1,11 @@
|
|
1 |
=== WP Accessibility ===
|
2 |
Contributors: joedolson
|
3 |
Donate link: http://www.joedolson.com/donate.php
|
4 |
-
Tags: title, accessibility, accessible, navigation, wcag, a11y, section508, focus, alt text
|
5 |
Requires at least: 3.4.2
|
6 |
-
Tested up to: 4.
|
7 |
-
Stable tag: 1.
|
|
|
8 |
License: GPLv2 or later
|
9 |
|
10 |
WP Accessibility fixes common accessibility issues in your WordPress site.
|
@@ -34,6 +35,7 @@ All features can be disabled according to your theme's needs. For advanced users
|
|
34 |
* Remove redundant title attributes from page lists, category lists, and archive menus.
|
35 |
* Add post titles to standard "read more" links.
|
36 |
* Address some accessibility issues in the WordPress admin styles
|
|
|
37 |
|
38 |
= Accessibility Tools built into WP Accessibility: =
|
39 |
|
@@ -59,6 +61,41 @@ Visit the [WP Accessibility translations site](http://translate.joedolson.com/pr
|
|
59 |
|
60 |
== Changelog ==
|
61 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
62 |
= 1.4.0 =
|
63 |
|
64 |
* Added enforcement tools for alt attribute usage in images.
|
@@ -207,7 +244,7 @@ Visit the [WP Accessibility translations site](http://translate.joedolson.com/pr
|
|
207 |
= 1.2.1 =
|
208 |
|
209 |
* Disabled grayscale toggle in Accessibility toolbar by default due to poor browser support and low functional value. (Can still be enabled by user.)
|
210 |
-
* Removed php notice in title-
|
211 |
* Updated German and added Polish translations
|
212 |
|
213 |
= 1.2.0 =
|
@@ -260,4 +297,4 @@ Even if WP Accessibility is running correctly, not all accessibility testing too
|
|
260 |
|
261 |
== Upgrade Notice ==
|
262 |
|
263 |
-
* 1.
|
1 |
=== WP Accessibility ===
|
2 |
Contributors: joedolson
|
3 |
Donate link: http://www.joedolson.com/donate.php
|
4 |
+
Tags: title, accessibility, accessible, navigation, wcag, a11y, section508, focus, alt text, labels, aria
|
5 |
Requires at least: 3.4.2
|
6 |
+
Tested up to: 4.3.1
|
7 |
+
Stable tag: 1.4.5
|
8 |
+
Text Domain: wp-accessibility
|
9 |
License: GPLv2 or later
|
10 |
|
11 |
WP Accessibility fixes common accessibility issues in your WordPress site.
|
35 |
* Remove redundant title attributes from page lists, category lists, and archive menus.
|
36 |
* Add post titles to standard "read more" links.
|
37 |
* Address some accessibility issues in the WordPress admin styles
|
38 |
+
* Add labels to standard WordPress form fields if missing
|
39 |
|
40 |
= Accessibility Tools built into WP Accessibility: =
|
41 |
|
61 |
|
62 |
== Changelog ==
|
63 |
|
64 |
+
= Future =
|
65 |
+
|
66 |
+
* Note: WP A11y recent posts widget will be removed in 1.5.0
|
67 |
+
|
68 |
+
= 1.4.6 =
|
69 |
+
|
70 |
+
* Bug fix: Don't create a duplicate ID when multiple longdesc attributes used on one page
|
71 |
+
|
72 |
+
= 1.4.5 =
|
73 |
+
|
74 |
+
* Add languages: Hungarian, English (Australian)
|
75 |
+
* Bug fix: Retain intended image when adding alt attribute missing warning.
|
76 |
+
|
77 |
+
= 1.4.4 =
|
78 |
+
|
79 |
+
* In WP 4.3, widgets with no settings are not saved. So...
|
80 |
+
* Added Title setting to WP Accessibility toolbar widget.
|
81 |
+
|
82 |
+
= 1.4.3 =
|
83 |
+
|
84 |
+
* Update widget constructors to use PHP5+ syntax.
|
85 |
+
* Add filter to disable or replace the fontsize styles for toolbar. 'wpa_fontsize_css'. Return false to disable; return stylesheet URL to replace.
|
86 |
+
|
87 |
+
= 1.4.2 =
|
88 |
+
|
89 |
+
* Language update: Norwegian
|
90 |
+
* New feature: Automatically add labels to WordPress standard search form & comment forms if missing.
|
91 |
+
|
92 |
+
= 1.4.1 =
|
93 |
+
|
94 |
+
* Bug fix: warning thrown if current theme does not have any tags.
|
95 |
+
* Change: Use image to show 'needs alt', for easier deletion.
|
96 |
+
* Fix: text_direction deprecated in bloginfo
|
97 |
+
* Language updates: Spanish, Polish
|
98 |
+
|
99 |
= 1.4.0 =
|
100 |
|
101 |
* Added enforcement tools for alt attribute usage in images.
|
244 |
= 1.2.1 =
|
245 |
|
246 |
* Disabled grayscale toggle in Accessibility toolbar by default due to poor browser support and low functional value. (Can still be enabled by user.)
|
247 |
+
* Removed php notice in title- recent posts widget
|
248 |
* Updated German and added Polish translations
|
249 |
|
250 |
= 1.2.0 =
|
297 |
|
298 |
== Upgrade Notice ==
|
299 |
|
300 |
+
* 1.4.6 - Bug fix for duplicate IDs in longdesc implementation
|
templates/longdesc-template.php
CHANGED
@@ -15,18 +15,20 @@
|
|
15 |
</head>
|
16 |
<body>
|
17 |
<div id="longdesc" class="template-longdesc">
|
18 |
-
<div id="
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
|
|
|
|
27 |
}
|
28 |
-
|
29 |
-
|
30 |
</div>
|
31 |
</body>
|
32 |
</html>
|
15 |
</head>
|
16 |
<body>
|
17 |
<div id="longdesc" class="template-longdesc">
|
18 |
+
<div id="desc_">
|
19 |
+
<div id="desc_wp-image-<?php the_ID(); ?>">
|
20 |
+
<?php the_content(); ?>
|
21 |
+
</div>
|
22 |
+
<?php
|
23 |
+
if ( isset( $_GET['referrer'] ) ) {
|
24 |
+
$uri = get_permalink( (int) $_GET['referrer'] );
|
25 |
+
if ( ! empty( $uri ) ) {
|
26 |
+
$uri .= '#' . longdesc_return_anchor( get_the_ID() );
|
27 |
+
print '<p><a href="' . esc_url( $uri ) . '">' . esc_html__( 'Return to article.', 'wp-accessibility' ) . '</a></p>';
|
28 |
+
}
|
29 |
}
|
30 |
+
?>
|
31 |
+
</div>
|
32 |
</div>
|
33 |
</body>
|
34 |
</html>
|
toolbar/css/a11y-fontsize.css
CHANGED
@@ -1,27 +1,17 @@
|
|
1 |
-
|
2 |
-
|
3 |
-
|
|
|
4 |
}
|
5 |
|
6 |
-
.
|
7 |
-
font-size:
|
8 |
-
line-height: 1.5 !important;
|
9 |
}
|
10 |
|
11 |
-
.
|
12 |
-
font-size:
|
13 |
-
line-height: 1.5 !important;
|
14 |
}
|
15 |
|
16 |
-
.
|
17 |
-
|
18 |
-
}
|
19 |
-
|
20 |
-
.a11y-toolbar ul li {
|
21 |
-
line-height: 20px !important;
|
22 |
-
font-size: 75% !important;
|
23 |
-
}
|
24 |
-
|
25 |
-
.a11y-toolbar ul li a {
|
26 |
-
line-height: 24px !important;
|
27 |
}
|
1 |
+
/* enqueue these as a separate stylesheet so they can be filtered */
|
2 |
+
.fontsize, .fontsize h1, .fontsize h2, .fontsize h3, .fontsize h4, .fontsize h5, .fontsize h6, .fontsize p, .fontsize li, .fontsize label, .fontsize input, .fontsize select, .fontsize textarea, .fontsize legend, .fontsize code, .fontsize pre, .fontsize dd, .fontsize dt, .fontsize blockquote {
|
3 |
+
font-size: 150% !important;
|
4 |
+
line-height: 1.4;
|
5 |
}
|
6 |
|
7 |
+
.fontsize li li {
|
8 |
+
font-size: 110% !important;
|
|
|
9 |
}
|
10 |
|
11 |
+
.fontsize li li li {
|
12 |
+
font-size: 100% !important;
|
|
|
13 |
}
|
14 |
|
15 |
+
.fontsize .a11y-toolbar ul li {
|
16 |
+
font-size: auto !important;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
}
|
toolbar/css/a11y.css
CHANGED
@@ -30,6 +30,8 @@
|
|
30 |
}
|
31 |
|
32 |
.a11y-toolbar ul li {
|
|
|
|
|
33 |
display: block;
|
34 |
}
|
35 |
|
@@ -114,21 +116,4 @@
|
|
114 |
-o-filter: grayscale(100%) !important;
|
115 |
filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale") !important;
|
116 |
filter: gray !important;
|
117 |
-
}
|
118 |
-
|
119 |
-
.fontsize, .fontsize h1, .fontsize h2, .fontsize h3, .fontsize h4, .fontsize h5, .fontsize h6, .fontsize p, .fontsize li, .fontsize label, .fontsize input, .fontsize select, .fontsize textarea, .fontsize legend, .fontsize code, .fontsize pre, .fontsize dd, .fontsize dt, .fontsize blockquote {
|
120 |
-
font-size: 150% !important;
|
121 |
-
line-height: 1.4;
|
122 |
-
}
|
123 |
-
|
124 |
-
.fontsize li li {
|
125 |
-
font-size: 110% !important;
|
126 |
-
}
|
127 |
-
|
128 |
-
.fontsize li li li {
|
129 |
-
font-size: 100% !important;
|
130 |
-
}
|
131 |
-
|
132 |
-
.fontsize .a11y-toolbar ul li {
|
133 |
-
font-size: auto !important;
|
134 |
}
|
30 |
}
|
31 |
|
32 |
.a11y-toolbar ul li {
|
33 |
+
margin: 0;
|
34 |
+
padding: 0;
|
35 |
display: block;
|
36 |
}
|
37 |
|
116 |
-o-filter: grayscale(100%) !important;
|
117 |
filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale") !important;
|
118 |
filter: gray !important;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
119 |
}
|
wp-accessibility.php
CHANGED
@@ -2,17 +2,17 @@
|
|
2 |
/*
|
3 |
Plugin Name: WP Accessibility
|
4 |
Plugin URI: http://www.joedolson.com/wp-accessibility/
|
5 |
-
Description:
|
6 |
-
Version: 1.4.
|
7 |
Author: Joe Dolson
|
8 |
Text Domain: wp-accessibility
|
9 |
Author URI: http://www.joedolson.com/
|
10 |
|
11 |
Copyright 2012-2015 Joe Dolson (joe@joedolson.com)
|
12 |
|
13 |
-
This program is
|
14 |
it under the terms of the GNU General Public License as published by
|
15 |
-
the
|
16 |
(at your option) any later version.
|
17 |
|
18 |
This program is distributed in the hope that it will be useful,
|
@@ -21,7 +21,7 @@ Author URI: http://www.joedolson.com/
|
|
21 |
GNU General Public License for more details.
|
22 |
|
23 |
You should have received a copy of the GNU General Public License
|
24 |
-
along with this program; if not, write to the
|
25 |
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
26 |
*/
|
27 |
|
@@ -37,7 +37,7 @@ function add_wpa_admin_menu() {
|
|
37 |
|
38 |
// ACTIVATION
|
39 |
function wpa_install() {
|
40 |
-
$wpa_version = '1.4.
|
41 |
if ( get_option( 'wpa_installed' ) != 'true' ) {
|
42 |
add_option( 'rta_from_nav_menu', 'on' );
|
43 |
add_option( 'rta_from_page_lists', 'on' );
|
@@ -172,6 +172,17 @@ function wpa_enqueue_scripts() {
|
|
172 |
}
|
173 |
wp_localize_script( 'wpa-complementary', 'wpaComplementary', $wpa_comp );
|
174 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
175 |
if ( get_option( 'wpa_toolbar' ) == 'on' ) {
|
176 |
add_action( 'wp_footer', 'wpa_toolbar_js' );
|
177 |
}
|
@@ -184,20 +195,35 @@ function wpa_enqueue_scripts() {
|
|
184 |
}
|
185 |
|
186 |
add_action( 'widgets_init', create_function( '', 'return register_widget("wp_accessibility_toolbar");' ) );
|
187 |
-
|
188 |
class wp_accessibility_toolbar extends WP_Widget {
|
189 |
-
function
|
190 |
-
parent::
|
191 |
}
|
192 |
|
193 |
function widget( $args, $instance ) {
|
|
|
|
|
|
|
|
|
|
|
194 |
echo wpa_toolbar_html();
|
195 |
}
|
196 |
|
197 |
function form( $instance ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
198 |
}
|
199 |
|
200 |
function update( $new_instance, $old_instance ) {
|
|
|
|
|
|
|
|
|
201 |
}
|
202 |
}
|
203 |
|
@@ -320,14 +346,14 @@ function wpa_jquery_asl() {
|
|
320 |
// attach language to html element
|
321 |
if ( get_option( 'wpa_lang' ) == 'on' ) {
|
322 |
$lang = get_bloginfo( 'language' );
|
323 |
-
$dir =
|
324 |
$lang_js = "$('html').attr( 'lang','$lang' ); $('html').attr( 'dir','$dir' )";
|
325 |
}
|
326 |
// force links to open in the same window
|
327 |
$targets = ( get_option( 'wpa_target' ) == 'on' ) ? "$('a').removeAttr('target');" : '';
|
328 |
$tabindex = ( get_option( 'wpa_tabindex' ) == 'on' ) ? "$('input,a,select,textarea,button').removeAttr('tabindex');" : '';
|
329 |
$underlines = ( get_option( 'wpa_underline' ) == 'on' ) ? "$('a').css( 'text-decoration','underline' );$('a').on( 'focusin mouseenter', function() { $(this).css( 'text-decoration','none' ); });$('a').on( 'focusout mouseleave', function() { $(this).css( 'text-decoration','underline' ); } );" : '';
|
330 |
-
|
331 |
$display = ( $skiplinks_js || $targets || $lang_js || $tabindex || $longdesc ) ? true : false;
|
332 |
if ( $display ) {
|
333 |
$script = "
|
@@ -362,7 +388,10 @@ function wpa_stylesheet() {
|
|
362 |
// Respects SSL, Style.css is relative to the current file
|
363 |
wp_register_style( 'wpa-style', plugins_url( 'css/wpa-style.css', __FILE__ ) );
|
364 |
wp_register_style( 'ui-font.css', plugins_url( 'toolbar/fonts/css/a11y-toolbar.css', __FILE__ ) );
|
365 |
-
|
|
|
|
|
|
|
366 |
// only enable styles when required by options
|
367 |
if ( get_option( 'wpa_toolbar_size' ) && get_option( 'wpa_toolbar' ) == 'on' ) {
|
368 |
echo "
|
@@ -375,8 +404,9 @@ function wpa_stylesheet() {
|
|
375 |
if ( get_option( 'wpa_longdesc' ) == 'link' || get_option( 'wpa_longdesc' ) == 'jquery' || get_option( 'asl_enable' ) == 'on' ) {
|
376 |
wp_enqueue_style( 'wpa-style' );
|
377 |
}
|
378 |
-
if ( get_option( 'wpa_toolbar' ) == 'on' || get_option( 'wpa_widget_toolbar' ) == 'on' ) {
|
379 |
wp_enqueue_style( 'ui-a11y.css' );
|
|
|
380 |
}
|
381 |
if ( current_user_can( 'edit_files' ) && get_option( 'wpa_diagnostics' ) == 'on' ) {
|
382 |
wp_register_style( 'diagnostic', plugins_url( 'css/diagnostic.css', __FILE__ ) );
|
@@ -576,6 +606,7 @@ function wpa_update_settings() {
|
|
576 |
if ( isset( $_POST['action'] ) && $_POST['action'] == 'misc' ) {
|
577 |
$wpa_lang = ( isset( $_POST['wpa_lang'] ) ) ? 'on' : '';
|
578 |
$wpa_target = ( isset( $_POST['wpa_target'] ) ) ? 'on' : '';
|
|
|
579 |
$wpa_search = ( isset( $_POST['wpa_search'] ) ) ? 'on' : '';
|
580 |
$wpa_tabindex = ( isset ( $_POST['wpa_tabindex'] ) ) ? 'on' : '';
|
581 |
$wpa_underline = ( isset ( $_POST['wpa_underline'] ) ) ? 'on' : '';
|
@@ -596,6 +627,7 @@ function wpa_update_settings() {
|
|
596 |
$wpa_complementary_container = ( isset( $_POST['wpa_complementary_container'] ) ) ? str_replace( '#', '', $_POST['wpa_complementary_container'] ) : '';
|
597 |
update_option( 'wpa_lang', $wpa_lang );
|
598 |
update_option( 'wpa_target', $wpa_target );
|
|
|
599 |
update_option( 'wpa_search', $wpa_search );
|
600 |
update_option( 'wpa_tabindex', $wpa_tabindex );
|
601 |
update_option( 'wpa_underline', $wpa_underline );
|
@@ -832,26 +864,26 @@ function wpa_admin_menu() {
|
|
832 |
<li><label
|
833 |
for="asl_content"><?php _e( 'Skip to Content link target (ID of your main content container)', 'wp-accessibility' ); ?></label>
|
834 |
<input type="text" id="asl_content" name="asl_content"
|
835 |
-
value="<?php
|
836 |
<li><label
|
837 |
for="asl_navigation"><?php _e( 'Skip to Navigation link target (ID of your main navigation container)', 'wp-accessibility' ); ?></label>
|
838 |
<input type="text" id="asl_navigation" name="asl_navigation"
|
839 |
-
value="<?php
|
840 |
<li><label
|
841 |
for="asl_sitemap"><?php _e( 'Site Map link target (URL for your site map)', 'wp-accessibility' ); ?></label><input
|
842 |
type="text" id="asl_sitemap" name="asl_sitemap" size="44"
|
843 |
-
value="<?php
|
844 |
<li><label
|
845 |
for="asl_extra_target"><?php _e( 'Add your own link (link or container ID)', 'wp-accessibility' ); ?></label>
|
846 |
<input type="text" id="asl_extra_target" name="asl_extra_target"
|
847 |
-
value="<?php
|
848 |
for="asl_extra_text"><?php _e( 'Link text for your link', 'wp-accessibility' ); ?></label>
|
849 |
<input type="text" id="asl_extra_text" name="asl_extra_text"
|
850 |
-
value="<?php
|
851 |
<li><label
|
852 |
for="asl_styles_focus"><?php _e( 'Styles for Skiplinks when they have focus', 'wp-accessibility' ); ?></label><br/>
|
853 |
<textarea name='asl_styles_focus' id='asl_styles_focus' cols='60'
|
854 |
-
rows='4'><?php
|
855 |
</li>
|
856 |
<?php if ( get_option( 'asl_visible' ) != 'on' ) {
|
857 |
$disabled = " disabled='disabled' style='background: #eee;'";
|
@@ -902,7 +934,7 @@ function wpa_admin_menu() {
|
|
902 |
<label
|
903 |
for="wpa_continue"><?php _e( 'Continue reading text', 'wp-accessibility' ); ?></label>
|
904 |
<input type="text" id="wpa_continue" name="wpa_continue"
|
905 |
-
value="<?php
|
906 |
<li><input type="checkbox" id="wpa_insert_roles"
|
907 |
name="wpa_insert_roles" <?php if ( get_option( 'wpa_insert_roles' ) == "on" ) {
|
908 |
echo 'checked="checked" ';
|
@@ -910,10 +942,13 @@ function wpa_admin_menu() {
|
|
910 |
for="wpa_insert_roles"><?php _e( 'Add landmark roles to HTML5 structural elements', 'wp-accessibility' ); ?></label><br/><label
|
911 |
for="wpa_complementary_container"><?php _e( 'ID for complementary role', 'wp-accessibility' ); ?></label><input
|
912 |
type="text" id="wpa_complementary_container" name="wpa_complementary_container"
|
913 |
-
value="#<?php
|
|
|
|
|
|
|
914 |
</li>
|
915 |
<?php } else { ?>
|
916 |
-
<li><?php _e( '<strong>
|
917 |
<?php } ?>
|
918 |
<li><input type="checkbox" id="wpa_target"
|
919 |
name="wpa_target" <?php if ( get_option( 'wpa_target' ) == "on" ) {
|
@@ -1021,7 +1056,7 @@ function wpa_admin_menu() {
|
|
1021 |
<label
|
1022 |
for="wpa_focus_color"><?php _e( 'Outline color (hexadecimal, optional)', 'wp-accessibility' ); ?></label><input
|
1023 |
type="text" id="wpa_focus_color" name="wpa_focus_color"
|
1024 |
-
value="#<?php
|
1025 |
</ul>
|
1026 |
</fieldset>
|
1027 |
<p>
|
@@ -1088,13 +1123,13 @@ function wpa_admin_menu() {
|
|
1088 |
<div id="fore"></div>
|
1089 |
<label
|
1090 |
for="color1"><?php _e( 'Foreground color', 'wp-accessibility' ); ?></label><br/><input
|
1091 |
-
type="text" name="color" value="#<?php
|
1092 |
</li>
|
1093 |
<li class='back'>
|
1094 |
<div id="back"></div>
|
1095 |
<label
|
1096 |
for="color2"><?php _e( 'Background color', 'wp-accessibility' ); ?></label><br/><input
|
1097 |
-
type="text" name="color2" value="#<?php
|
1098 |
</li>
|
1099 |
</ul>
|
1100 |
</fieldset>
|
@@ -1282,8 +1317,8 @@ function wpa_remove_title_attributes( $output ) {
|
|
1282 |
// The built-in Recent Posts widget hard-coded title attributes until 3.8.
|
1283 |
class WP_Widget_Recent_Posts_No_Title_Attributes extends WP_Widget {
|
1284 |
|
1285 |
-
function
|
1286 |
-
parent::
|
1287 |
}
|
1288 |
|
1289 |
function widget( $args, $instance ) {
|
@@ -1363,13 +1398,13 @@ class WP_Widget_Recent_Posts_No_Title_Attributes extends WP_Widget {
|
|
1363 |
?>
|
1364 |
<p><label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:' ); ?></label>
|
1365 |
<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>"
|
1366 |
-
name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php
|
1367 |
</p>
|
1368 |
|
1369 |
<p><label
|
1370 |
for="<?php echo $this->get_field_id( 'number' ); ?>"><?php _e( 'Number of posts to show:' ); ?></label>
|
1371 |
<input id="<?php echo $this->get_field_id( 'number' ); ?>"
|
1372 |
-
name="<?php echo $this->get_field_name( 'number' ); ?>" type="text" value="<?php
|
1373 |
size="3"/></p>
|
1374 |
<?php
|
1375 |
}
|
@@ -1477,7 +1512,7 @@ $plugins_string
|
|
1477 |
if ( $has_donated == 'Donor' ) {
|
1478 |
echo "<div class='message updated'><p>" . __( 'Thank you for supporting the continuing development of this plug-in! I\'ll get back to you as soon as I can.', 'wp-accessibility' ) . "</p></div>";
|
1479 |
} else {
|
1480 |
-
echo "<div class='message updated'><p>" . __( 'I cannot provide
|
1481 |
}
|
1482 |
}
|
1483 |
}
|
@@ -1644,7 +1679,7 @@ add_filter( 'image_send_to_editor', 'longdesc_add_attr', 10, 8 );
|
|
1644 |
function wpa_accessible_theme() {
|
1645 |
$theme = wp_get_theme();
|
1646 |
$tags = $theme->get( 'Tags' );
|
1647 |
-
if ( in_array( 'accessibility-ready', $tags ) ) {
|
1648 |
return true;
|
1649 |
}
|
1650 |
return false;
|
@@ -1694,7 +1729,7 @@ function wpa_media_value( $column, $id ) {
|
|
1694 |
}
|
1695 |
break;
|
1696 |
default:
|
1697 |
-
|
1698 |
break;
|
1699 |
}
|
1700 |
}
|
@@ -1734,16 +1769,21 @@ function wpa_alt_attribute( $html, $id, $caption, $title, $align, $url, $size, $
|
|
1734 |
$noalt = get_post_meta( $id, '_no_alt', true );
|
1735 |
/* Get the original title to compare to alt */
|
1736 |
$title = get_the_title( $id );
|
1737 |
-
$warning =
|
1738 |
if ( $noalt == 1 ) {
|
1739 |
$html = str_replace( 'alt="'.$alt.'"', 'alt=""', $html );
|
1740 |
}
|
1741 |
if ( ( $alt == '' || $alt == $title ) && $noalt != 1 ) {
|
1742 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
1743 |
}
|
1744 |
if ( $warning ) {
|
1745 |
-
$html
|
1746 |
-
return "<div class='wpa-image-missing-alt'>" . $html . '<br />' . $warning . "</div>";
|
1747 |
}
|
1748 |
return $html;
|
1749 |
}
|
2 |
/*
|
3 |
Plugin Name: WP Accessibility
|
4 |
Plugin URI: http://www.joedolson.com/wp-accessibility/
|
5 |
+
Description: Helps improve accessibility in your WordPress site, like removing title attributes.
|
6 |
+
Version: 1.4.6
|
7 |
Author: Joe Dolson
|
8 |
Text Domain: wp-accessibility
|
9 |
Author URI: http://www.joedolson.com/
|
10 |
|
11 |
Copyright 2012-2015 Joe Dolson (joe@joedolson.com)
|
12 |
|
13 |
+
This program is software; you can redistribute it and/or modify
|
14 |
it under the terms of the GNU General Public License as published by
|
15 |
+
the Software Foundation; either version 2 of the License, or
|
16 |
(at your option) any later version.
|
17 |
|
18 |
This program is distributed in the hope that it will be useful,
|
21 |
GNU General Public License for more details.
|
22 |
|
23 |
You should have received a copy of the GNU General Public License
|
24 |
+
along with this program; if not, write to the Software
|
25 |
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
26 |
*/
|
27 |
|
37 |
|
38 |
// ACTIVATION
|
39 |
function wpa_install() {
|
40 |
+
$wpa_version = '1.4.6';
|
41 |
if ( get_option( 'wpa_installed' ) != 'true' ) {
|
42 |
add_option( 'rta_from_nav_menu', 'on' );
|
43 |
add_option( 'rta_from_page_lists', 'on' );
|
172 |
}
|
173 |
wp_localize_script( 'wpa-complementary', 'wpaComplementary', $wpa_comp );
|
174 |
}
|
175 |
+
if ( get_option( 'wpa_labels' ) == 'on' ) {
|
176 |
+
wp_enqueue_script( 'wpa-labels', plugins_url( 'js/wpa.labels.js', __FILE__ ), array( 'jquery' ), '1.0', true );
|
177 |
+
$labels = array(
|
178 |
+
's' => __( 'Search', 'wp-accessibility' ),
|
179 |
+
'author' => __( 'Name', 'wp-accessibility' ),
|
180 |
+
'email' => __( 'Email', 'wp-accessibility' ),
|
181 |
+
'url' => __( 'Website', 'wp-accessibility' ),
|
182 |
+
'comment' => __( 'Comment', 'wp-accessibility' )
|
183 |
+
);
|
184 |
+
wp_localize_script( 'wpa-labels', 'wpalabels', $labels );
|
185 |
+
}
|
186 |
if ( get_option( 'wpa_toolbar' ) == 'on' ) {
|
187 |
add_action( 'wp_footer', 'wpa_toolbar_js' );
|
188 |
}
|
195 |
}
|
196 |
|
197 |
add_action( 'widgets_init', create_function( '', 'return register_widget("wp_accessibility_toolbar");' ) );
|
|
|
198 |
class wp_accessibility_toolbar extends WP_Widget {
|
199 |
+
function __construct() {
|
200 |
+
parent::__construct( false, $name = __( 'Accessibility Toolbar', 'wp-accessibility' ) );
|
201 |
}
|
202 |
|
203 |
function widget( $args, $instance ) {
|
204 |
+
extract( $args );
|
205 |
+
|
206 |
+
$title = apply_filters( 'widget_title', ( empty( $instance['title'] ) ? false : $instance['title'] ), $instance, $args );
|
207 |
+
echo $before_widget;
|
208 |
+
echo ( $title ) ? $before_title . $title . $after_title : '';
|
209 |
echo wpa_toolbar_html();
|
210 |
}
|
211 |
|
212 |
function form( $instance ) {
|
213 |
+
$title = ( isset( $instance['title'] ) ) ? esc_attr( $instance['title'] ) : '';
|
214 |
+
?>
|
215 |
+
<p>
|
216 |
+
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:', 'wp-accessibility' ); ?></label>
|
217 |
+
<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php esc_attr_e( $title ); ?>"/>
|
218 |
+
</p>
|
219 |
+
<?php
|
220 |
}
|
221 |
|
222 |
function update( $new_instance, $old_instance ) {
|
223 |
+
$instance = $old_instance;
|
224 |
+
$instance['title'] = strip_tags( $new_instance['title'] );
|
225 |
+
|
226 |
+
return $instance;
|
227 |
}
|
228 |
}
|
229 |
|
346 |
// attach language to html element
|
347 |
if ( get_option( 'wpa_lang' ) == 'on' ) {
|
348 |
$lang = get_bloginfo( 'language' );
|
349 |
+
$dir = ( is_rtl() ) ? 'rtl' : 'ltr';
|
350 |
$lang_js = "$('html').attr( 'lang','$lang' ); $('html').attr( 'dir','$dir' )";
|
351 |
}
|
352 |
// force links to open in the same window
|
353 |
$targets = ( get_option( 'wpa_target' ) == 'on' ) ? "$('a').removeAttr('target');" : '';
|
354 |
$tabindex = ( get_option( 'wpa_tabindex' ) == 'on' ) ? "$('input,a,select,textarea,button').removeAttr('tabindex');" : '';
|
355 |
$underlines = ( get_option( 'wpa_underline' ) == 'on' ) ? "$('a').css( 'text-decoration','underline' );$('a').on( 'focusin mouseenter', function() { $(this).css( 'text-decoration','none' ); });$('a').on( 'focusout mouseleave', function() { $(this).css( 'text-decoration','underline' ); } );" : '';
|
356 |
+
|
357 |
$display = ( $skiplinks_js || $targets || $lang_js || $tabindex || $longdesc ) ? true : false;
|
358 |
if ( $display ) {
|
359 |
$script = "
|
388 |
// Respects SSL, Style.css is relative to the current file
|
389 |
wp_register_style( 'wpa-style', plugins_url( 'css/wpa-style.css', __FILE__ ) );
|
390 |
wp_register_style( 'ui-font.css', plugins_url( 'toolbar/fonts/css/a11y-toolbar.css', __FILE__ ) );
|
391 |
+
$toolbar = apply_filters( 'wpa_toolbar_css', plugins_url( 'toolbar/css/a11y.css', __FILE__ ) );
|
392 |
+
wp_register_style( 'ui-a11y.css', $toolbar, array( 'ui-font.css' ) );
|
393 |
+
$fontsize = apply_filters( 'wpa_fontsize_css', plugins_url( 'toolbar/css/a11y-fontsize.css', __FILE__ ) );
|
394 |
+
wp_register_style( 'ui-fontsize.css', $fontsize );
|
395 |
// only enable styles when required by options
|
396 |
if ( get_option( 'wpa_toolbar_size' ) && get_option( 'wpa_toolbar' ) == 'on' ) {
|
397 |
echo "
|
404 |
if ( get_option( 'wpa_longdesc' ) == 'link' || get_option( 'wpa_longdesc' ) == 'jquery' || get_option( 'asl_enable' ) == 'on' ) {
|
405 |
wp_enqueue_style( 'wpa-style' );
|
406 |
}
|
407 |
+
if ( get_option( 'wpa_toolbar' ) == 'on' || get_option( 'wpa_widget_toolbar' ) == 'on' && ( $toolbar && $fontsize ) ) {
|
408 |
wp_enqueue_style( 'ui-a11y.css' );
|
409 |
+
wp_enqueue_style( 'ui-fontsize.css' );
|
410 |
}
|
411 |
if ( current_user_can( 'edit_files' ) && get_option( 'wpa_diagnostics' ) == 'on' ) {
|
412 |
wp_register_style( 'diagnostic', plugins_url( 'css/diagnostic.css', __FILE__ ) );
|
606 |
if ( isset( $_POST['action'] ) && $_POST['action'] == 'misc' ) {
|
607 |
$wpa_lang = ( isset( $_POST['wpa_lang'] ) ) ? 'on' : '';
|
608 |
$wpa_target = ( isset( $_POST['wpa_target'] ) ) ? 'on' : '';
|
609 |
+
$wpa_labels = ( isset( $_POST['wpa_labels'] ) ) ? 'on' : '';
|
610 |
$wpa_search = ( isset( $_POST['wpa_search'] ) ) ? 'on' : '';
|
611 |
$wpa_tabindex = ( isset ( $_POST['wpa_tabindex'] ) ) ? 'on' : '';
|
612 |
$wpa_underline = ( isset ( $_POST['wpa_underline'] ) ) ? 'on' : '';
|
627 |
$wpa_complementary_container = ( isset( $_POST['wpa_complementary_container'] ) ) ? str_replace( '#', '', $_POST['wpa_complementary_container'] ) : '';
|
628 |
update_option( 'wpa_lang', $wpa_lang );
|
629 |
update_option( 'wpa_target', $wpa_target );
|
630 |
+
update_option( 'wpa_labels', $wpa_labels );
|
631 |
update_option( 'wpa_search', $wpa_search );
|
632 |
update_option( 'wpa_tabindex', $wpa_tabindex );
|
633 |
update_option( 'wpa_underline', $wpa_underline );
|
864 |
<li><label
|
865 |
for="asl_content"><?php _e( 'Skip to Content link target (ID of your main content container)', 'wp-accessibility' ); ?></label>
|
866 |
<input type="text" id="asl_content" name="asl_content"
|
867 |
+
value="<?php esc_attr_e( get_option( 'asl_content' ) ); ?>"/></li>
|
868 |
<li><label
|
869 |
for="asl_navigation"><?php _e( 'Skip to Navigation link target (ID of your main navigation container)', 'wp-accessibility' ); ?></label>
|
870 |
<input type="text" id="asl_navigation" name="asl_navigation"
|
871 |
+
value="<?php esc_attr_e( get_option( 'asl_navigation' ) ); ?>"/></li>
|
872 |
<li><label
|
873 |
for="asl_sitemap"><?php _e( 'Site Map link target (URL for your site map)', 'wp-accessibility' ); ?></label><input
|
874 |
type="text" id="asl_sitemap" name="asl_sitemap" size="44"
|
875 |
+
value="<?php esc_attr_e( get_option( 'asl_sitemap' ) ); ?>"/></li>
|
876 |
<li><label
|
877 |
for="asl_extra_target"><?php _e( 'Add your own link (link or container ID)', 'wp-accessibility' ); ?></label>
|
878 |
<input type="text" id="asl_extra_target" name="asl_extra_target"
|
879 |
+
value="<?php esc_attr_e( get_option( 'asl_extra_target' ) ); ?>"/> <label
|
880 |
for="asl_extra_text"><?php _e( 'Link text for your link', 'wp-accessibility' ); ?></label>
|
881 |
<input type="text" id="asl_extra_text" name="asl_extra_text"
|
882 |
+
value="<?php esc_attr_e( get_option( 'asl_extra_text' ) ); ?>"/></li>
|
883 |
<li><label
|
884 |
for="asl_styles_focus"><?php _e( 'Styles for Skiplinks when they have focus', 'wp-accessibility' ); ?></label><br/>
|
885 |
<textarea name='asl_styles_focus' id='asl_styles_focus' cols='60'
|
886 |
+
rows='4'><?php esc_attr_e( stripslashes( get_option( 'asl_styles_focus' ) ) ); ?></textarea>
|
887 |
</li>
|
888 |
<?php if ( get_option( 'asl_visible' ) != 'on' ) {
|
889 |
$disabled = " disabled='disabled' style='background: #eee;'";
|
934 |
<label
|
935 |
for="wpa_continue"><?php _e( 'Continue reading text', 'wp-accessibility' ); ?></label>
|
936 |
<input type="text" id="wpa_continue" name="wpa_continue"
|
937 |
+
value="<?php esc_attr_e( get_option( 'wpa_continue' ) ); ?>"/></li>
|
938 |
<li><input type="checkbox" id="wpa_insert_roles"
|
939 |
name="wpa_insert_roles" <?php if ( get_option( 'wpa_insert_roles' ) == "on" ) {
|
940 |
echo 'checked="checked" ';
|
942 |
for="wpa_insert_roles"><?php _e( 'Add landmark roles to HTML5 structural elements', 'wp-accessibility' ); ?></label><br/><label
|
943 |
for="wpa_complementary_container"><?php _e( 'ID for complementary role', 'wp-accessibility' ); ?></label><input
|
944 |
type="text" id="wpa_complementary_container" name="wpa_complementary_container"
|
945 |
+
value="#<?php esc_attr_e( get_option( 'wpa_complementary_container' ) ); ?>"/>
|
946 |
+
</li>
|
947 |
+
<li>
|
948 |
+
<input type="checkbox" id="wpa_labels" name="wpa_labels" <?php checked( get_option( 'wpa_labels'), 'on' ); ?> /> <label for='wpa_labels'><?php _e( 'Automatically Label WordPress search form and comment forms', 'wp-accessibility' ); ?></label>
|
949 |
</li>
|
950 |
<?php } else { ?>
|
951 |
+
<li><?php _e( '<strong>Four disabled features:</strong> Site language, continue reading text, landmark roles and standard form labels are defined in your <code>accessibility-ready</code> theme.', 'wp-accessibility' ); ?></li>
|
952 |
<?php } ?>
|
953 |
<li><input type="checkbox" id="wpa_target"
|
954 |
name="wpa_target" <?php if ( get_option( 'wpa_target' ) == "on" ) {
|
1056 |
<label
|
1057 |
for="wpa_focus_color"><?php _e( 'Outline color (hexadecimal, optional)', 'wp-accessibility' ); ?></label><input
|
1058 |
type="text" id="wpa_focus_color" name="wpa_focus_color"
|
1059 |
+
value="#<?php esc_attr_e( get_option( 'wpa_focus_color' ) ); ?>"/></li>
|
1060 |
</ul>
|
1061 |
</fieldset>
|
1062 |
<p>
|
1123 |
<div id="fore"></div>
|
1124 |
<label
|
1125 |
for="color1"><?php _e( 'Foreground color', 'wp-accessibility' ); ?></label><br/><input
|
1126 |
+
type="text" name="color" value="#<?php esc_attr_e( $hex1 ); ?>" size="34" id="color1"/>
|
1127 |
</li>
|
1128 |
<li class='back'>
|
1129 |
<div id="back"></div>
|
1130 |
<label
|
1131 |
for="color2"><?php _e( 'Background color', 'wp-accessibility' ); ?></label><br/><input
|
1132 |
+
type="text" name="color2" value="#<?php esc_attr_e( $hex2 ); ?>" size="34" id="color2"/>
|
1133 |
</li>
|
1134 |
</ul>
|
1135 |
</fieldset>
|
1317 |
// The built-in Recent Posts widget hard-coded title attributes until 3.8.
|
1318 |
class WP_Widget_Recent_Posts_No_Title_Attributes extends WP_Widget {
|
1319 |
|
1320 |
+
function __construct() {
|
1321 |
+
parent::__construct( false, $name = __( 'WP A11Y: Recent Posts', 'wp-accessibility' ) );
|
1322 |
}
|
1323 |
|
1324 |
function widget( $args, $instance ) {
|
1398 |
?>
|
1399 |
<p><label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:' ); ?></label>
|
1400 |
<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>"
|
1401 |
+
name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php esc_attr_e( $title ); ?>"/>
|
1402 |
</p>
|
1403 |
|
1404 |
<p><label
|
1405 |
for="<?php echo $this->get_field_id( 'number' ); ?>"><?php _e( 'Number of posts to show:' ); ?></label>
|
1406 |
<input id="<?php echo $this->get_field_id( 'number' ); ?>"
|
1407 |
+
name="<?php echo $this->get_field_name( 'number' ); ?>" type="text" value="<?php esc_attr_e( $number ); ?>"
|
1408 |
size="3"/></p>
|
1409 |
<?php
|
1410 |
}
|
1512 |
if ( $has_donated == 'Donor' ) {
|
1513 |
echo "<div class='message updated'><p>" . __( 'Thank you for supporting the continuing development of this plug-in! I\'ll get back to you as soon as I can.', 'wp-accessibility' ) . "</p></div>";
|
1514 |
} else {
|
1515 |
+
echo "<div class='message updated'><p>" . __( 'I cannot provide support, but will treat your request as a bug report, and will incorporate any permanent solutions I discover into the plug-in.', 'wp-accessibility' ) . "</p></div>";
|
1516 |
}
|
1517 |
}
|
1518 |
}
|
1679 |
function wpa_accessible_theme() {
|
1680 |
$theme = wp_get_theme();
|
1681 |
$tags = $theme->get( 'Tags' );
|
1682 |
+
if ( is_array( $tags ) && in_array( 'accessibility-ready', $tags ) ) {
|
1683 |
return true;
|
1684 |
}
|
1685 |
return false;
|
1729 |
}
|
1730 |
break;
|
1731 |
default:
|
1732 |
+
echo '<span class="non-image">' . __( 'N/A', 'wp-accessibility' ) . '</span>';
|
1733 |
break;
|
1734 |
}
|
1735 |
}
|
1769 |
$noalt = get_post_meta( $id, '_no_alt', true );
|
1770 |
/* Get the original title to compare to alt */
|
1771 |
$title = get_the_title( $id );
|
1772 |
+
$warning = false;
|
1773 |
if ( $noalt == 1 ) {
|
1774 |
$html = str_replace( 'alt="'.$alt.'"', 'alt=""', $html );
|
1775 |
}
|
1776 |
if ( ( $alt == '' || $alt == $title ) && $noalt != 1 ) {
|
1777 |
+
if ( $alt == $title ) {
|
1778 |
+
$warning = __( 'The alt text for this image is the same as the title. In most cases, that means that the alt attribute has been automatically provided from the image file name.', 'wp-accessibility' );
|
1779 |
+
$image = 'alt-same.png';
|
1780 |
+
} else {
|
1781 |
+
$warning = __( 'This image requires alt text, but the alt text is currently blank. Either add alt text or mark the image as decorative.', 'wp-accessibility' );
|
1782 |
+
$image = 'alt-missing.png';
|
1783 |
+
}
|
1784 |
}
|
1785 |
if ( $warning ) {
|
1786 |
+
return $html . "<img class='wpa-image-missing-alt size-" . esc_attr( $size ) . ' ' . esc_attr( $align ) . "' src='" . plugins_url( "imgs/$image", __FILE__ ) . "' alt='" . esc_attr( $warning ) . "' />";
|
|
|
1787 |
}
|
1788 |
return $html;
|
1789 |
}
|