diff --git a/src/localize.c b/src/localize.c
index 03db7b63a..3fe3b08b2 100755
--- a/src/localize.c
+++ b/src/localize.c
@@ -68,6 +68,7 @@ static struct _msgfmt
/* attribute name */
{ INSERTING_ATTRIBUTE, "%s inserting \"%s\" attribute" }, /* Warning in CheckLINK, Error otherwise */
+ { INSERTING_AUTO_ATTRIBUTE, "%s inserting \"%s\" attribute using value \"%s\"" }, /* Warning */
{ MISSING_ATTR_VALUE, "%s attribute \"%s\" lacks value" }, /* Warning in CheckUrl, Error otherwise */
{ UNKNOWN_ATTRIBUTE, "%s unknown attribute \"%s\"" }, /* Error */
{ PROPRIETARY_ATTRIBUTE, "%s proprietary attribute \"%s\"" }, /* Error */
@@ -400,9 +401,11 @@ static const TidyOptionDoc option_docs[] =
},
{TidyAltText,
"This option specifies the default alt=
text Tidy uses for "
- "<img>
attributes. "
+ "<img>
attributes when the alt=
attribute "
+ "is missing. "
"
"
- "Use with care, as this feature suppresses further accessibility warnings. "
+ "Use with care, as it is your responsibility to make your documents accessible "
+ "to people who cannot see the images. "
},
{TidyXmlPIs,
"This option specifies if Tidy should change the parsing of processing "
@@ -1549,6 +1552,7 @@ void TY_(ReportAttrError)(TidyDocImpl* doc, Node *node, AttVal *av, uint code)
case BAD_ATTRIBUTE_VALUE:
case BAD_ATTRIBUTE_VALUE_REPLACED:
case INVALID_ATTRIBUTE:
+ case INSERTING_AUTO_ATTRIBUTE:
messageNode(doc, TidyWarning, node, fmt, tagdesc, name, value);
break;
diff --git a/src/message.h b/src/message.h
index 4ef740409..560221be1 100644
--- a/src/message.h
+++ b/src/message.h
@@ -120,25 +120,26 @@ void TY_(ReportFatal)(TidyDocImpl* doc, Node* element, Node* node, uint code);
#define UNKNOWN_ATTRIBUTE 48
#define INSERTING_ATTRIBUTE 49
-#define MISSING_ATTR_VALUE 50
-#define BAD_ATTRIBUTE_VALUE 51
-#define UNEXPECTED_GT 52
-#define PROPRIETARY_ATTRIBUTE 53
-#define PROPRIETARY_ATTR_VALUE 54
-#define REPEATED_ATTRIBUTE 55
-#define MISSING_IMAGEMAP 56
-#define XML_ATTRIBUTE_VALUE 57
-#define UNEXPECTED_QUOTEMARK 58
-#define MISSING_QUOTEMARK 59
-#define ID_NAME_MISMATCH 60
-
-#define BACKSLASH_IN_URI 61
-#define FIXED_BACKSLASH 62
-#define ILLEGAL_URI_REFERENCE 63
-#define ESCAPED_ILLEGAL_URI 64
-
-#define NEWLINE_IN_URI 65
-#define ANCHOR_NOT_UNIQUE 66
+#define INSERTING_AUTO_ATTRIBUTE 50
+#define MISSING_ATTR_VALUE 51
+#define BAD_ATTRIBUTE_VALUE 52
+#define UNEXPECTED_GT 53
+#define PROPRIETARY_ATTRIBUTE 54
+#define PROPRIETARY_ATTR_VALUE 55
+#define REPEATED_ATTRIBUTE 56
+#define MISSING_IMAGEMAP 57
+#define XML_ATTRIBUTE_VALUE 58
+#define UNEXPECTED_QUOTEMARK 59
+#define MISSING_QUOTEMARK 60
+#define ID_NAME_MISMATCH 61
+
+#define BACKSLASH_IN_URI 62
+#define FIXED_BACKSLASH 63
+#define ILLEGAL_URI_REFERENCE 64
+#define ESCAPED_ILLEGAL_URI 65
+
+#define NEWLINE_IN_URI 66
+#define ANCHOR_NOT_UNIQUE 67
#define JOINING_ATTRIBUTE 68
#define UNEXPECTED_EQUALSIGN 69
diff --git a/src/tags.c b/src/tags.c
index 273ec47c8..35a172cfa 100644
--- a/src/tags.c
+++ b/src/tags.c
@@ -852,14 +852,17 @@ void CheckIMG( TidyDocImpl* doc, Node *node )
if ( !HasAlt )
{
- if ( cfg(doc, TidyAccessibilityCheckLevel) == 0 )
+ ctmbstr alttext = cfgStr(doc, TidyAltText);
+ if ( ( cfg(doc, TidyAccessibilityCheckLevel) == 0 ) && ( !alttext ) )
{
doc->badAccess |= BA_MISSING_IMAGE_ALT;
TY_(ReportMissingAttr)( doc, node, "alt" );
}
- if ( cfgStr(doc, TidyAltText) )
- TY_(AddAttribute)( doc, node, "alt", cfgStr(doc, TidyAltText) );
+ if ( alttext ) {
+ AttVal *attval = TY_(AddAttribute)( doc, node, "alt", alttext );
+ TY_(ReportAttrError)( doc, node, attval, INSERTING_AUTO_ATTRIBUTE);
+ }
}
if ( !HasSrc && !HasDataFld )