On Fri, 14 Feb 2025 at 07:22, Gerald Pfeifer <ger...@pfeifer.com> wrote:
>
> On Fri, 24 Jan 2025, David Malcolm wrote:
> > The attached patch adds a postprocessing step to "bin" that
> > turns e.g.
> >   <h1 id="ID">TEXT</h1>
> > to:
> >   <h1 id="ID"><a href="#ID">TEXT</a></h1>
>
> It looks like this is causing an issue for (at least) one of our pages.
>
> http://gcc.gnu.org/projects/cxx-status.html no longer validates with
>
>    Error: Start tag a seen but an element of the same type was already open.
>    From line 644, column 32; to line 644, column 48
>    ...d="cxx2a"><a href="#cxx20"><a id=...
>
>    Error: Duplicate ID cxx2a.
>    From line 644, column 49; to line 644, column 62
>    ...="#cxx20"><a id="cxx2a">C++20...
>
> See https://validator.w3.org 
> /nu/?doc=http://gcc.gnu.org/projects/cxx-status.html
>
>
> The HTML in question in projects/cxx-status.html is
>
>    <h2 id="cxx20"><a id="cxx2a">C++20 Support in GCC</a></h2>
>
> which the script transforms to
>
>    <h2 id="cxx20"><a id="cxx2a"><a href="#cxx20"><a id="cxx2a">C++20 Support 
> in GCC</a></a></h2>↩

If I was writing that by hand, I'd reuse the same <a> for the href and
the backwards-compatible id:

<h2 id="cxx20"><a href="#cxx20" id="cxx2a">C++20 Support in GCC</a></h2>

But the script probably needs a simpler, more generic approach.


>
> The original, valid HTML comes from the following two commits, so copying
> Jonathan:
>
>    commit a5a3dc2f85786b038bc66b0e1929fdc67095397b
>    Author: Gerald Pfeifer <ger...@pfeifer.com>
>    Date:   Thu May 11 22:24:02 2023 +0200
>
>     projects/cxx-status: Fix markup
>
>     Commit a09e584729 introduced an <a id="..."> without corresponding </a>.
>
>    commit a09e584729c3136719d8870ad0c26870de8a552f
>    Author: Jonathan Wakely <jwak...@redhat.com>
>    Date:   Wed Mar 22 10:36:37 2023 +0000
>
>     Clarify experimental status of C++17 prior to GCC 9
>
>     Also link to library docs for C++20 and add a cxx2a anchor which is used
>     by some old links.
>
>
> One way to address this would be removing the cxx2a anchor again, though
> per se it is legitimate and valid HTML.
>
> The duplication of <a id="cxx2a"> does look like an issue with the Python
> script, though, which might cause other issues down the road?
>
> Gerald

Reply via email to