From 933fc3d236cd870ec3cd638e91eea69b47a76d47 Mon Sep 17 00:00:00 2001 From: Jim Derry Date: Thu, 26 Nov 2015 13:23:43 +0800 Subject: [PATCH 1/2] - Addresses #320 - Different error output depending on whether or not the `alt-text` option was given a value. --- src/localize.c | 8 ++++++-- src/message.h | 35 ++++++++++++++++++----------------- src/tags.c | 8 +++++--- 3 files changed, 29 insertions(+), 22 deletions(-) diff --git a/src/localize.c b/src/localize.c index 03db7b6..08778c1 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\"" }, /* Error */ { 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 4ef7404..560221b 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 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 61 -#define FIXED_BACKSLASH 62 -#define ILLEGAL_URI_REFERENCE 63 -#define ESCAPED_ILLEGAL_URI 64 +#define BACKSLASH_IN_URI 62 +#define FIXED_BACKSLASH 63 +#define ILLEGAL_URI_REFERENCE 64 +#define ESCAPED_ILLEGAL_URI 65 -#define NEWLINE_IN_URI 65 -#define ANCHOR_NOT_UNIQUE 66 +#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 273ec47..08bc6c4 100644 --- a/src/tags.c +++ b/src/tags.c @@ -852,14 +852,16 @@ void CheckIMG( TidyDocImpl* doc, Node *node ) if ( !HasAlt ) { - if ( cfg(doc, TidyAccessibilityCheckLevel) == 0 ) + if ( cfg(doc, TidyAccessibilityCheckLevel) == 0 && !cfgStr(doc, TidyAltText) ) { doc->badAccess |= BA_MISSING_IMAGE_ALT; TY_(ReportMissingAttr)( doc, node, "alt" ); } - if ( cfgStr(doc, TidyAltText) ) - TY_(AddAttribute)( doc, node, "alt", cfgStr(doc, TidyAltText) ); + if ( cfgStr(doc, TidyAltText) ) { + AttVal *attval = TY_(AddAttribute)( doc, node, "alt", cfgStr(doc, TidyAltText) ); + TY_(ReportAttrError)( doc, node, attval, INSERTING_AUTO_ATTRIBUTE); + } } if ( !HasSrc && !HasDataFld ) From 9834cc17ad9ba3ea3973cba198dcc8003a96dd08 Mon Sep 17 00:00:00 2001 From: Jim Derry Date: Fri, 27 Nov 2015 09:45:26 +0800 Subject: [PATCH 2/2] Style cleanup for previous commit. --- src/localize.c | 2 +- src/tags.c | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/localize.c b/src/localize.c index 08778c1..3fe3b08 100755 --- a/src/localize.c +++ b/src/localize.c @@ -68,7 +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\"" }, /* Error */ + { 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 */ diff --git a/src/tags.c b/src/tags.c index 08bc6c4..35a172c 100644 --- a/src/tags.c +++ b/src/tags.c @@ -852,14 +852,15 @@ void CheckIMG( TidyDocImpl* doc, Node *node ) if ( !HasAlt ) { - if ( cfg(doc, TidyAccessibilityCheckLevel) == 0 && !cfgStr(doc, TidyAltText) ) + 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) ) { - AttVal *attval = 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); } }