Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Image alt tag not saved if user inputs it #394

Open
chazchumley opened this issue Jan 2, 2024 · 0 comments
Open

Image alt tag not saved if user inputs it #394

chazchumley opened this issue Jan 2, 2024 · 0 comments

Comments

@chazchumley
Copy link

chazchumley commented Jan 2, 2024

Using the htmlpurifier 4.12 with Drupal 9.5.11. We have a text format configured with the following:

Attr:
AllowedClasses: null
AllowedFrameTargets: "_blank, _self, _parent, _top"
AllowedRel: { }
AllowedRev: { }
ClassUseCDATA: null
DefaultImageAlt: null
DefaultInvalidImage: ''
DefaultInvalidImageAlt: 'Invalid image'
DefaultTextDir: ltr
EnableID: true
ForbiddenClasses: { }
ID.HTML5: true
IDBlacklist: { }
IDBlacklistRegexp: null
IDPrefix: ''
IDPrefixLocal: ''
AutoFormat:
AutoParagraph: false
Custom: { }
DisplayLinkURI: false
Linkify: false
PurifierLinkify.DocURL: '#%s'
PurifierLinkify: false
RemoveEmpty.Predicate:
colgroup: { }
th: { }
td: { }
iframe:
- src
RemoveEmpty.RemoveNbsp.Exceptions:
td: true
th: true
RemoveEmpty.RemoveNbsp: false
RemoveEmpty: false
RemoveSpansWithoutAttributes: false
CSS:
AllowDuplicates: false
AllowImportant: false
AllowTricky: false
AllowedFonts: null
AllowedProperties: null
DefinitionRev: 1
ForbiddenProperties: { }
MaxImgLength: 1200px
Proprietary: false
Trusted: false
Cache:
DefinitionImpl: Serializer
SerializerPath: null
SerializerPermissions: 493
Core:
AggressivelyFixLt: true
AggressivelyRemoveScript: true
AllowHostnameUnderscore: false
AllowParseManyTags: false
CollectErrors: false
ColorKeywords:
aliceblue: '#F0F8FF'
antiquewhite: '#FAEBD7'
aqua: '#00FFFF'
aquamarine: '#7FFFD4'
azure: '#F0FFFF'
beige: '#F5F5DC'
bisque: '#FFE4C4'
black: '#000000'
blanchedalmond: '#FFEBCD'
blue: '#0000FF'
blueviolet: '#8A2BE2'
brown: '#A52A2A'
burlywood: '#DEB887'
cadetblue: '#5F9EA0'
chartreuse: '#7FFF00'
chocolate: '#D2691E'
coral: '#FF7F50'
cornflowerblue: '#6495ED'
cornsilk: '#FFF8DC'
crimson: '#DC143C'
cyan: '#00FFFF'
darkblue: '#00008B'
darkcyan: '#008B8B'
darkgoldenrod: '#B8860B'
darkgray: '#A9A9A9'
darkgrey: '#A9A9A9'
darkgreen: '#006400'
darkkhaki: '#BDB76B'
darkmagenta: '#8B008B'
darkolivegreen: '#556B2F'
darkorange: '#FF8C00'
darkorchid: '#9932CC'
darkred: '#8B0000'
darksalmon: '#E9967A'
darkseagreen: '#8FBC8F'
darkslateblue: '#483D8B'
darkslategray: '#2F4F4F'
darkslategrey: '#2F4F4F'
darkturquoise: '#00CED1'
darkviolet: '#9400D3'
deeppink: '#FF1493'
deepskyblue: '#00BFFF'
dimgray: '#696969'
dimgrey: '#696969'
dodgerblue: '#1E90FF'
firebrick: '#B22222'
floralwhite: '#FFFAF0'
forestgreen: '#228B22'
fuchsia: '#FF00FF'
gainsboro: '#DCDCDC'
ghostwhite: '#F8F8FF'
gold: '#FFD700'
goldenrod: '#DAA520'
gray: '#808080'
grey: '#808080'
green: '#008000'
greenyellow: '#ADFF2F'
honeydew: '#F0FFF0'
hotpink: '#FF69B4'
indianred: '#CD5C5C'
indigo: '#4B0082'
ivory: '#FFFFF0'
khaki: '#F0E68C'
lavender: '#E6E6FA'
lavenderblush: '#FFF0F5'
lawngreen: '#7CFC00'
lemonchiffon: '#FFFACD'
lightblue: '#ADD8E6'
lightcoral: '#F08080'
lightcyan: '#E0FFFF'
lightgoldenrodyellow: '#FAFAD2'
lightgray: '#D3D3D3'
lightgrey: '#D3D3D3'
lightgreen: '#90EE90'
lightpink: '#FFB6C1'
lightsalmon: '#FFA07A'
lightseagreen: '#20B2AA'
lightskyblue: '#87CEFA'
lightslategray: '#778899'
lightslategrey: '#778899'
lightsteelblue: '#B0C4DE'
lightyellow: '#FFFFE0'
lime: '#00FF00'
limegreen: '#32CD32'
linen: '#FAF0E6'
magenta: '#FF00FF'
maroon: '#800000'
mediumaquamarine: '#66CDAA'
mediumblue: '#0000CD'
mediumorchid: '#BA55D3'
mediumpurple: '#9370DB'
mediumseagreen: '#3CB371'
mediumslateblue: '#7B68EE'
mediumspringgreen: '#00FA9A'
mediumturquoise: '#48D1CC'
mediumvioletred: '#C71585'
midnightblue: '#191970'
mintcream: '#F5FFFA'
mistyrose: '#FFE4E1'
moccasin: '#FFE4B5'
navajowhite: '#FFDEAD'
navy: '#80'
oldlace: '#FDF5E6'
olive: '#808000'
olivedrab: '#6B8E23'
orange: '#FFA500'
orangered: '#FF4500'
orchid: '#DA70D6'
palegoldenrod: '#EEE8AA'
palegreen: '#98FB98'
paleturquoise: '#AFEEEE'
palevioletred: '#DB7093'
papayawhip: '#FFEFD5'
peachpuff: '#FFDAB9'
peru: '#CD853F'
pink: '#FFC0CB'
plum: '#DDA0DD'
powderblue: '#B0E0E6'
purple: '#800080'
rebeccapurple: '#663399'
red: '#FF0000'
rosybrown: '#BC8F8F'
royalblue: '#4169E1'
saddlebrown: '#8B4513'
salmon: '#FA8072'
sandybrown: '#F4A460'
seagreen: '#2E8B57'
seashell: '#FFF5EE'
sienna: '#A0522D'
silver: '#C0C0C0'
skyblue: '#87CEEB'
slateblue: '#6A5ACD'
slategray: '#708090'
slategrey: '#708090'
snow: '#FFFAFA'
springgreen: '#00FF7F'
steelblue: '#4682B4'
tan: '#D2B48C'
teal: '#008080'
thistle: '#D8BFD8'
tomato: '#FF6347'
turquoise: '#40E0D0'
violet: '#EE82EE'
wheat: '#F5DEB3'
white: '#FFFFFF'
whitesmoke: '#F5F5F5'
yellow: '#FFFF00'
yellowgreen: '#9ACD32'
ConvertDocumentToFragment: true
DirectLexLineNumberSyncInterval: 0
DisableExcludes: false
EnableIDNA: false
Encoding: utf-8
EscapeInvalidChildren: false
EscapeInvalidTags: false
EscapeNonASCIICharacters: false
HiddenElements:
script: true
style: true
Language: en
LegacyEntityDecoder: false
LexerImpl: null
MaintainLineNumbers: null
NormalizeNewlines: true
RemoveInvalidImg: true
RemoveProcessingInstructions: false
RemoveScriptContents: true
Filter:
Custom: { }
ExtractStyleBlocks.Escaping: true
ExtractStyleBlocks.Scope: null
ExtractStyleBlocks.TidyImpl: null
ExtractStyleBlocks: false
YouTube: false
HTML:
Allowed: null
AllowedAttributes: "*.style, *.id, *.class, img.src, table.cellspacing, table.cellpadding, *.border, td.rowspan, td.colspan, a.href, a.name, a.title, a.target, blockquote.cite, ol.start, ol.type, img.alt, img.width, img.height, img.data-mid, *.dir, *.lang"
AllowedComments: { }
AllowedCommentsRegexp: null
AllowedElements: a, b, i, em, strong, u, span, cite, blockquote, code, ul, ol, li, dl, dt, dd, div, address, h1, h2, h3, h4, h5, h6, s, sup, sub, img, table, caption, tbody, thead, tfoot, th, td, tr, hr, p, br, pre, drupal-entity, figure, figcaption
AllowedModules: null
Attr.Name.UseCDATA: false
BlockWrapper: p
CoreModules:
Structure: true
Text: true
Hypertext: true
List: true
NonXMLCommonAttributes: true
XMLCommonAttributes: true
CommonAttributes: true
CustomDoctype: null
DefinitionID: HTMLPurifier_HTML5Config
DefinitionRev: 2019080701
Doctype: HTML5
FlashAllowFullScreen: false
ForbiddenAttributes: { }
ForbiddenElements: { }
MaxImgLength: 1200
Nofollow: false
Parent: div
Proprietary: false
SafeEmbed: false
SafeIframe: false
SafeObject: false
SafeScripting: { }
Strict: false
TargetBlank: false
TargetNoopener: true
TargetNoreferrer: true
TidyAdd: { }
TidyLevel: medium
TidyRemove: { }
Trusted: false
XHTML: true
IframeAllowFullscreen: false
Output:
CommentScriptContents: true
FixInnerHTML: true
FlashCompat: false
Newline: null
SortAttr: false
TidyFormat: false
Test:
ForceNoIconv: false
URI:
AllowedSchemes:
http: true
https: true
mailto: true
ftp: true
nntp: true
news: true
tel: true
Base: null
DefaultScheme: http
DefinitionID: null
DefinitionRev: 1
Disable: false
DisableExternal: false
DisableExternalResources: false
DisableResources: false
Host: null
HostBlacklist: { }
MakeAbsolute: false
Munge: null
MungeResources: false
MungeSecretKey: null
OverrideAllowedSchemes: true
SafeIframeRegexp: null

When a user adds or edits an image and adds or replaces alt text, the alt text does not get saved and always defaults to the original images alt text when it was first created.

If I change to a new text format that does not use the htmlpurifier, the images alt text works as I would expect.

Can you please advise if there is a missing configuration or something within the configuration that needs to be changed for it to work properly?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant