Exemplo n.º 1
0
function wpa_jquery_asl()
{
    $content = str_replace('#', '', esc_attr(get_option('asl_content')));
    $visibility = get_option('asl_visible') == 'on' ? 'wpa-visible' : 'wpa-hide';
    $nav = str_replace('#', '', esc_attr(get_option('asl_navigation')));
    $sitemap = esc_url(get_option('asl_sitemap'));
    $extra = get_option('asl_extra_target');
    $extra = wpa_is_url($extra) ? esc_url($extra) : str_replace('#', '', esc_attr($extra));
    if ($extra != '' && !wpa_is_url($extra)) {
        $extra = "#{$extra}";
    }
    $extra_text = stripslashes(get_option('asl_extra_text'));
    $html = '';
    // set up skiplinks
    $html .= $content != '' ? "<a href=\"#{$content}\">" . __('Skip to content', 'wp-accessibility') . "</a>" : '';
    if ($html != '' && $visibility == 'wpa-visible') {
        $sep = "<span> &bull; </span>";
    } else {
        $sep = '';
    }
    $html .= $nav != '' ? "{$sep} <a href=\"#{$nav}\">" . __('Skip to navigation', 'wp-accessibility') . "</a>" : '';
    if ($html != '' && $visibility == 'wpa-visible') {
        $sep = "<span> &bull; </span>";
    } else {
        $sep = '';
    }
    $html .= $sitemap != '' ? "{$sep} <a href=\"{$sitemap}\">" . __('Site map', 'wp-accessibility') . "</a>" : '';
    if ($html != '' && $visibility == 'wpa-visible') {
        $sep = "<span> &bull; </span>";
    } else {
        $sep = '';
    }
    $html .= $extra != '' && $extra_text != '' ? "{$sep} <a href=\"{$extra}\">{$extra_text}</a>" : '';
    $output = $html != '' ? "<div class=\"{$visibility}\" id=\"skiplinks\" role=\"navigation\">{$html}</div>" : '';
    $skiplinks_js = $output ? "\$('body').prepend('{$output}');" : '';
    // attach language to html element
    $lang = get_option('wpa_lang') == 'on' ? get_bloginfo('language') : false;
    $dir = get_option('wpa_lang') == 'on' ? get_bloginfo('text_direction') : false;
    $lang_js = "\$('html').attr('lang','{$lang}'); \$('html').attr('dir','{$dir}')";
    // force links to open in the same window
    $targets = get_option('wpa_target') == 'on' ? "\$('a').removeAttr('target');" : '';
    $tabindex = get_option('wpa_tabindex') == 'on' ? "\$('input,a,select,textarea,button').removeAttr('tabindex');" : '';
    if ($output || $lang) {
        $script = "\r\n<script>\r\n\tjQuery(document).ready( function(\$) {\r\n\t\t{$skiplinks_js}\r\n\t\t{$targets}\r\n\t\t{$lang_js}\r\n\t\t{$tabindex}\r\n\t});\r\n</script>";
        echo $script;
    }
}
Exemplo n.º 2
0
function wpa_jquery_asl()
{
    $skiplinks_js = $targets = $lang_js = $tabindex = $longdesc = false;
    $visibility = get_option('asl_visible') == 'on' ? 'wpa-visible' : 'wpa-hide';
    if (get_option('asl_enable') == 'on') {
        $html = '';
        // set up skiplinks
        $extra = get_option('asl_extra_target');
        $extra = wpa_is_url($extra) ? esc_url($extra) : str_replace('#', '', esc_attr($extra));
        if ($extra != '' && !wpa_is_url($extra)) {
            $extra = "#{$extra}";
        }
        $extra_text = stripslashes(get_option('asl_extra_text'));
        $content = str_replace('#', '', esc_attr(get_option('asl_content')));
        $nav = str_replace('#', '', esc_attr(get_option('asl_navigation')));
        $sitemap = esc_url(get_option('asl_sitemap'));
        $html .= $content != '' ? "<a href=\"#{$content}\">" . __('Skip to content', 'wp-accessibility') . "</a> " : '';
        $html .= $nav != '' ? "<a href=\"#{$nav}\">" . __('Skip to navigation', 'wp-accessibility') . "</a> " : '';
        $html .= $sitemap != '' ? "<a href=\"{$sitemap}\">" . __('Site map', 'wp-accessibility') . "</a> " : '';
        $html .= $extra != '' && $extra_text != '' ? "<a href=\"{$extra}\">{$extra_text}</a> " : '';
        $is_rtl = is_rtl() ? '-rtl' : '-ltr';
        $output = $html != '' ? "<div class=\"{$visibility}{$is_rtl}\" id=\"skiplinks\" role=\"navigation\">{$html}</div>" : '';
        // attach skiplinks HTML; set tabindex on #content area to -1
        $focusable = $content != '' ? "\$('#{$content}').attr('tabindex','-1');" : '';
        $focusable .= $nav != '' ? "\$('#{$nav}').attr('tabindex','-1');" : '';
        $skiplinks_js = $output ? "\$('body').prepend('{$output}'); {$focusable}" : '';
    }
    // attach language to html element
    if (get_option('wpa_lang') == 'on') {
        $lang = get_bloginfo('language');
        $dir = is_rtl() ? 'rtl' : 'ltr';
        $lang_js = "\$('html').attr( 'lang','{$lang}' ); \$('html').attr( 'dir','{$dir}' )";
    }
    // force links to open in the same window
    $targets = get_option('wpa_target') == 'on' ? "\$('a').removeAttr('target');" : '';
    $tabindex = get_option('wpa_tabindex') == 'on' ? "\$('input,a,select,textarea,button').removeAttr('tabindex');" : '';
    $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' ); } );" : '';
    $display = $skiplinks_js || $targets || $lang_js || $tabindex || $longdesc ? true : false;
    if ($display) {
        $script = "\r\n<script type='text/javascript'>\r\n//<![CDATA[\r\n(function( \$ ) { 'use strict';\r\n\t{$skiplinks_js}\r\n\t{$targets}\r\n\t{$lang_js}\r\n\t{$tabindex}\r\n\t{$underlines}\r\n}(jQuery));\r\n//]]>\r\n</script>";
        echo $script;
    }
}
Exemplo n.º 3
0
function wpa_jquery_asl() {
	$skiplinks_js = $targets = $lang_js = $tabindex = $longdesc = false;
	$visibility   = ( get_option( 'asl_visible' ) == 'on' ) ? 'wpa-visible' : 'wpa-hide';
	if ( get_option( 'asl_enable' ) == 'on' ) {
		$html = '';
		// set up skiplinks
		$extra = get_option( 'asl_extra_target' );
		$extra = ( wpa_is_url( $extra ) ) ? esc_url( $extra ) : str_replace( '#', '', esc_attr( $extra ) );
		if ( $extra != '' && ! wpa_is_url( $extra ) ) {
			$extra = "#$extra";
		}
		$extra_text = stripslashes( get_option( 'asl_extra_text' ) );
		$content    = str_replace( '#', '', esc_attr( get_option( 'asl_content' ) ) );
		$nav        = str_replace( '#', '', esc_attr( get_option( 'asl_navigation' ) ) );
		$sitemap    = esc_url( get_option( 'asl_sitemap' ) );
		$html .= ( $content != '' ) ? "<a href=\"#$content\">" . __( 'Skip to content', 'wp-accessibility' ) . "</a> " : '';
		$html .= ( $nav != '' ) ? "<a href=\"#$nav\">" . __( 'Skip to navigation', 'wp-accessibility' ) . "</a> " : '';
		$html .= ( $sitemap != '' ) ? "<a href=\"$sitemap\">" . __( 'Site map', 'wp-accessibility' ) . "</a> " : '';
		$html .= ( $extra != '' && $extra_text != '' ) ? "<a href=\"$extra\">$extra_text</a> " : '';
		$is_rtl = ( is_rtl() ) ? '-rtl' : '-ltr';
		$output = ( $html != '' ) ? "<div class=\"$visibility$is_rtl\" id=\"skiplinks\" role=\"navigation\">$html</div>" : '';
		// attach skiplinks HTML; set tabindex on #content area to -1
		$focusable = ( $content != '' ) ? "$('#$content').attr('tabindex','-1');" : '';
		$focusable .= ( $nav != '' ) ? "$('#$nav').attr('tabindex','-1');" : '';
		$skiplinks_js = ( $output ) ? "$('body').prepend('$output'); $focusable" : '';
	}
	// attach language to html element
	if ( get_option( 'wpa_lang' ) == 'on' ) {
		$lang    = get_bloginfo( 'language' );
		$dir     =  ( is_rtl() ) ? 'rtl' : 'ltr';
		$lang_js = "$('html').attr( 'lang','$lang' ); $('html').attr( 'dir','$dir' )";
	}
	// force links to open in the same window
	$underline_target = apply_filters( 'wpa_underline_target', 'a' );
	$targets    = ( get_option( 'wpa_target' ) == 'on' ) ? "$('a').removeAttr('target');" : '';
	$tabindex   = ( get_option( 'wpa_tabindex' ) == 'on' ) ? "$('input,a,select,textarea,button').removeAttr('tabindex');" : '';
	$underlines = ( get_option( 'wpa_underline' ) == 'on' ) ? "$('$underline_target').css( 'text-decoration','underline' );$('$underline_target').on( 'focusin mouseenter', function() { $(this).css( 'text-decoration','none' ); });$('$underline_target').on( 'focusout mouseleave', function() { $(this).css( 'text-decoration','underline' ); } );" : '';
	
	$display = ( $skiplinks_js || $targets || $lang_js || $tabindex || $longdesc ) ? true : false;
	if ( $display ) {
		$script = "
<script type='text/javascript'>
//<![CDATA[
(function( $ ) { 'use strict';
	$skiplinks_js
	$targets
	$lang_js
	$tabindex
	$underlines
}(jQuery));
//]]>
</script>";
		echo $script;
	}
}