diff --git a/Doc/library/html.parser.rst b/Doc/library/html.parser.rst
index 341a8337ba2..92117cba1ad 100644
--- a/Doc/library/html.parser.rst
+++ b/Doc/library/html.parser.rst
@@ -141,7 +141,8 @@ implementations do nothing (except for :meth:`~HTMLParser.handle_startendtag`):
argument is a list of ``(name, value)`` pairs containing the attributes found
inside the tag's ``<>`` brackets. The *name* will be translated to lower case,
and quotes in the *value* have been removed, and character and entity references
- have been replaced.
+ have been replaced. If a boolean attribute is encountered, the *value* for the
+ ``(name, value)`` attribute pair will be ``None``.
For instance, for the tag ````, this method
would be called as ``handle_starttag('a', [('href', 'https://www.cwi.nl/')])``.
@@ -317,6 +318,16 @@ without further parsing:
Data : alert("hello! ☺");
End tag : script
+Boolean attributes have a *value* of ``None``:
+
+.. doctest::
+
+ >>> parser.feed("")
+ Start tag: script
+ attr: ('src', '/script.js')
+ attr: ('defer', None)
+ End tag : script
+
Parsing comments:
.. doctest::