User:Proteins/checkALTtext.js

// // Check whether alt text is specified for all images on a page // // To use this script, add "importScript('User:Proteins/checkALTtext.js');" to your monobook.js subpage // under your user page, as you can see at User:Proteins/monobook.js

function checkAltText { var alt_text = ""; var alert_string = ""; var error_string = "";

var temp_image; var parent_node; var grandparent_node;

var num_pixels = 0; var image_index = 0; var num_raw_images = 0;

var num_icon_images = 0; var num_icon_images_missing_alt_text = 0; var num_nonicon_images = 0; var num_nonicon_images_missing_alt_text = 0;

var icon_percentage = 0.0; var nonicon_percentage = 0.0;

// Loop over the images num_icon_images = 0; num_icon_images_missing_alt_text = 0; num_nonicon_images = 0; num_nonicon_images_missing_alt_text = 0;

num_raw_images = document.images.length; alert_string = "This document has " + num_raw_images + " images.\n\n"; //   window.alert(alert_string);

for (image_index=0; image_index 5000) { num_nonicon_images++; if (!alt_text) { num_nonicon_images_missing_alt_text++; temp_image.src = ""; }               continue; }       num_icon_images++; if (!alt_text) { num_icon_images_missing_alt_text++; temp_image.src = ""; }   } // closes loop over the images icon_percentage = 0.0; nonicon_percentage = 0.0;

if (num_nonicon_images > 0) { nonicon_percentage = (100.0 * num_nonicon_images_missing_alt_text) / num_nonicon_images; nonicon_percentage = Math.round(nonicon_percentage); alert_string += num_nonicon_images_missing_alt_text + " of " + num_nonicon_images + " normal images "; if (num_nonicon_images_missing_alt_text == 1) { alert_string += "is"; } else { alert_string += "are";} alert_string += " missing alt text (" + nonicon_percentage + "%).\n\n"; }       if (num_icon_images > 0) { icon_percentage = (100.0 * num_icon_images_missing_alt_text) / num_icon_images; icon_percentage = Math.round(icon_percentage); alert_string += num_icon_images_missing_alt_text + " of " + num_icon_images + " small images "; if (num_icon_images_missing_alt_text == 1) { alert_string += "is"; } else { alert_string += "are";} alert_string += " missing alt text (" + icon_percentage + "%).\n"; alert_string += "Small images are defined as those having fewer than 5000 pixels.\n\n"; }     window.alert(alert_string);

} // closes function checkAltText

$(function {            mw.util.addPortletLink('p-cactions', 'javascript:checkAltText', 'alt', 'ca-alttext', 'Check images for alt text', , ); });

//