@@ -184,6 +184,12 @@ def serialize(self, treewalker, encoding=None):
184184 if encoding and self .inject_meta_charset :
185185 from ..filters .inject_meta_charset import Filter
186186 treewalker = Filter (treewalker , encoding )
187+ # Alphabetical attributes is here under the assumption that none of
188+ # the later filters add or change order of attributes; it needs to be
189+ # before the sanitizer so escaped elements come out correctly
190+ if self .alphabetical_attributes :
191+ from ..filters .alphabeticalattributes import Filter
192+ treewalker = Filter (treewalker )
187193 # WhitespaceFilter should be used before OptionalTagFilter
188194 # for maximum efficiently of this latter filter
189195 if self .strip_whitespace :
@@ -195,11 +201,6 @@ def serialize(self, treewalker, encoding=None):
195201 if self .omit_optional_tags :
196202 from ..filters .optionaltags import Filter
197203 treewalker = Filter (treewalker )
198- # Alphabetical attributes must be last, as other filters
199- # could add attributes and alter the order
200- if self .alphabetical_attributes :
201- from ..filters .alphabeticalattributes import Filter
202- treewalker = Filter (treewalker )
203204
204205 for token in treewalker :
205206 type = token ["type" ]
0 commit comments