The following definitions are from hyperref.sty, but they are not accessible there in tex4ht mode.
<..autoref 2008..>
<.auto ref.>
<.auto page ref.>
<.auto set ref.>
<.test ref type.>
\def\HyRef@StripStar#1*\\#2\@nil#3{%
\def\HyRef@name{#2}%
\ifx\HyRef@name\HyRef@CaseStar
\def\HyRef@name{#1}%
\else
\def\HyRef@name{#3}%
\fi
}
\def\HyRef@CaseStar{*\\}
\def\HyRef@currentHtag{}
\let\HyRef@ShowKeysRef\@gobble
-_-_-
<..auto ref..>
\DeclareRobustCommand*{\autoref}{%
\@ifstar{\HyRef@autoref\@gobbletwo}{\HyRef@autoref\hyper@@link}%
}
\def\HyRef@autoref#1#2{%
\begingroup
\Hy@safe@activestrue
\expandafter\HyRef@autosetref\csname r@#2\endcsname{#2}{#1}%
\endgroup
}
-_-_-
<..test ref type..>
\def\HyRef@testreftype#1.#2\\{%
\@ifundefined{#1autorefname}{%
\@ifundefined{#1name}{%
\HyRef@StripStar#1\\*\\\@nil{#1}%
\@ifundefined{\HyRef@name autorefname}{%
\@ifundefined{\HyRef@name name}{%
\def\HyRef@currentHtag{}%
\Hy@Warning{No autoref name for ‘#1’}%
}{%
\edef\HyRef@currentHtag{%
\expandafter\noexpand\csname\HyRef@name name\endcsname
\noexpand~%
}%
}%
}{%
\edef\HyRef@currentHtag{%
\expandafter\noexpand\csname\HyRef@name autorefname\endcsname
\noexpand~%
}%
}%
}{%
\edef\HyRef@currentHtag{%
\expandafter\noexpand\csname#1name\endcsname
\noexpand~%
}%
}%
}{%
\edef\HyRef@currentHtag{%
\expandafter\noexpand\csname#1autorefname\endcsname
\noexpand~%
}%
}%
}
-_-_-
<..auto page ref..>
\DeclareRobustCommand*{\autopageref}{%
\@ifstar{%
\HyRef@autopagerefname\pageref*%
}\HyRef@autopageref
}
\def\HyRef@autopageref#1{%
\hyperref[{#1}]{\HyRef@autopagerefname\pageref*{#1}}%
}
\def\HyRef@autopagerefname{%
\@ifundefined{pageautorefname}{%
\@ifundefined{pagename}{%
\Hy@Warning{No autoref name for ‘page’}%
}{%
\pagename\nobreakspace
}%
}{%
\pageautorefname\nobreakspace
}%
}
-_-_-
<..auto set ref..>
\def\HyRef@autosetref#1#2#3{% link command, csname, refname
\HyRef@ShowKeysRef{#2}%
\ifcase 0\ifx#1\relax 1\fi\ifx#1\Hy@varioref@undefined 1\fi\relax
\edef\HyRef@thisref{%
\expandafter\@fourthoffive#1\@empty\@empty\@empty
}%
\expandafter\HyRef@testreftype\HyRef@thisref.\\%
\Hy@safe@activesfalse
#3{%
\expandafter\@fifthoffive#1\@empty\@empty\@empty
}{%
\expandafter\@fourthoffive#1\@empty\@empty\@empty
}{%
\HyRef@currentHtag
\expandafter\@firstoffive#1\@empty\@empty\@empty
\null
}%
\else
\protect\G@refundefinedtrue
\nfss@text{\reset@font\bfseries ??}%
\@latex@warning{%
Reference ‘#2’ on page \thepage\space undefined%
}%
\fi
}
-_-_-
<..autoref 2008..>+
\providecommand*\AMSautorefname{\equationautorefname}
\providecommand*\Hfootnoteautorefname{\footnoteautorefname}
\providecommand*\Itemautorefname{\itemautorefname}
\providecommand*\itemautorefname{item}
\providecommand*\equationautorefname{Equation}
\providecommand*\footnoteautorefname{footnote}
\providecommand*\itemautorefname{item}
\providecommand*\figureautorefname{Figure}
\providecommand*\tableautorefname{Table}
\providecommand*\partautorefname{Part}
\providecommand*\appendixautorefname{Appendix}
\providecommand*\chapterautorefname{chapter}
\providecommand*\sectionautorefname{section}
\providecommand*\subsectionautorefname{subsection}
\providecommand*\subsubsectionautorefname{subsubsection}
\providecommand*\paragraphautorefname{paragraph}
\providecommand*\subparagraphautorefname{subparagraph}
\providecommand*\FancyVerbLineautorefname{line}
\providecommand*\theoremautorefname{Theorem}
\providecommand*\pageautorefname{page}
-_-_-