% !Mode:: "TeX:DE:UTF-8:Main"
% we do not want all the latex goodies as this 
% demonstrates low-level tagging, so load only tagpdf
\RequirePackage{pdfmanagement}
\RequirePackage{tagpdf}
\tagpdfsetup{activate}
\documentclass{scrartcl}
\usepackage[english]{babel}

\ExplSyntaxOn
\pdfmanagement_add:nnn{Info}{Title}{(Title)}
\ExplSyntaxOff


\tagpdfsetup
{
 role/new-attribute = {TH-col} { /O /Table /Scope /Column },
 role/new-attribute = {TH-row} { /O /Table /Scope /Row   },
 role/new-attribute = {TH-both}{ /O /Table /Scope /Both   },
 role/new-attribute = {Lay-borderdotted}{ /O /Layout /Borderstyle /Dotted    },
}

\begin{document}
\pagestyle{empty} %


\tagstructbegin{tag=Table}
\begin{center}
\begin{tabular}{ l | c | }
\hline
\tagstructbegin{tag=THead}
 \tagstructbegin{tag=TR}
  \tagstructbegin{tag=TH,attribute= {TH-both,Lay-borderdotted}}
   \tagmcbegin{tag=TH}
   h1
   \tagmcend
   \tagstructend &
  \tagstructbegin{tag=TH,attribute-class= {TH-col,Lay-borderdotted}}
    \tagmcbegin{tag=TH}
    h2
    \tagmcend
  \tagstructend
 \tagstructend %TR
 \tagstructend %Thead
  \\ \hline
 \tagstructbegin{tag=TBody}
   \tagstructbegin{tag=TR}
    \tagstructbegin{tag=TD}
    \tagmcbegin{tag=TD}
    r1
    \tagmcend
    \tagstructend %TD
&
    \tagstructbegin{tag=TD}
    \tagmcbegin{tag=TD}
    h2
    \tagmcend
    \tagstructend
  \tagstructend %TR
 \tagstructend %TBody
    \\ \hline
  \end{tabular}
\end{center}
\tagstructend


\end{document} 