posthtml-alt-always

Always add alt attribute for images that don't have it (accessibility reasons)


Keywords
posthtml, html, posthtml-plugin, alt, images, accessibility, alternative text
License
CC0-1.0
Install
npm install posthtml-alt-always@1.0.1

Documentation

Alt Always

PostHTML Logo

NPM Version Build Status

Alt Always is a PostHTML plugin that always add alt attribute for images that don't have it (accessibility reasons).

Every image must have an alt attribute. This is a requirement of HTML standard (with perhaps a few exceptions in HTML5). Images without an alt attribute are likely inaccessible. In some cases, images may be given an empty or null alt attribute (e.g., alt="").

Read more about Alternative Text.

<!-- BEFORE -->
<img src="image.jpg">
<img src="image.png" class="foo">
<img src="image.gif" alt="I already have alternative text">

<!-- AFTER -->
<img src="image.jpg" alt="">
<img src="image.png" class="foo" alt="">
<img src="image.gif" alt="I already have alternative text">

Usage

Add Alt Always to your build tool:

npm install posthtml-alt-always --save-dev

Node

require('posthtml-alt-always').process(YOUR_HTML, { /* options */ });

PostHTML

Add PostHTML to your build tool:

npm install posthtml --save-dev

Load Alt Always as a PostHTML plugin:

posthtml([
	require('posthtml-alt-always')({ /* options */ })
]).process(YOUR_HTML, /* options */);

Gulp

Add Gulp PostHTML to your build tool:

npm install gulp-posthtml --save-dev

Enable Alt Always within your Gulpfile:

var posthtml = require('gulp-posthtml');

gulp.task('html', function () {
	return gulp.src('./src/*.html').pipe(
		posthtml([
			require('posthtml-alt-always')({ /* options */ })
		])
	).pipe(
		gulp.dest('.')
	);
});

Grunt

Add Grunt PostHTML to your build tool:

npm install grunt-posthtml --save-dev

Enable alt-always within your Gruntfile:

grunt.loadNpmTasks('grunt-posthtml');

grunt.initConfig({
	posthtml: {
		options: {
			use: [
				require('posthtml-alt-always')({ /* options */ })
			]
		},
		dist: {
			src: '*.html'
		}
	}
});