From 8bee07458b84a3c97d980af8bc26fbd8d9b72eab Mon Sep 17 00:00:00 2001 From: Ingo Schwarze Date: Tue, 5 Jul 2022 21:25:29 +0000 Subject: Finally get rid of the archaic markup for header and footer lines and use flexbox CSS instead. Improve accessibility by adding role and aria-label attributes to these header and footer lines. Using ideas from both Anna Vyalkova and myself. As a welcome side effect, this also resolves the long-standing issue that the rendering was always 65em wide, requiring horizontal scrolling when the window was narrower. Now, rendering nicely adapts to browser windows of arbitrary narrowness. --- mdoc_html.c | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) (limited to 'mdoc_html.c') diff --git a/mdoc_html.c b/mdoc_html.c index 390fcbca..bd731ddf 100644 --- a/mdoc_html.c +++ b/mdoc_html.c @@ -1,4 +1,4 @@ -/* $Id: mdoc_html.c,v 1.346 2022/07/04 14:37:33 schwarze Exp $ */ +/* $Id: mdoc_html.c,v 1.347 2022/07/05 21:25:29 schwarze Exp $ */ /* * Copyright (c) 2014-2022 Ingo Schwarze * Copyright (c) 2008-2011, 2014 Kristaps Dzonsons @@ -453,16 +453,19 @@ print_mdoc_node(MDOC_ARGS) static void mdoc_root_post(const struct roff_meta *meta, struct html *h) { - struct tag *t, *tt; + struct tag *t; + + t = print_otag(h, TAG_DIV, "cr?", "foot", "doc-pagefooter", + "aria-label", "manual footer line"); - t = print_otag(h, TAG_TABLE, "c", "foot"); - tt = print_otag(h, TAG_TR, ""); + print_otag(h, TAG_SPAN, "c", "foot-left"); + print_stagq(h, t); - print_otag(h, TAG_TD, "c", "foot-date"); + print_otag(h, TAG_SPAN, "c", "foot-date"); print_text(h, meta->date); - print_stagq(h, tt); + print_stagq(h, t); - print_otag(h, TAG_TD, "c", "foot-os"); + print_otag(h, TAG_SPAN, "c", "foot-os"); print_text(h, meta->os); print_tagq(h, t); } @@ -470,7 +473,7 @@ mdoc_root_post(const struct roff_meta *meta, struct html *h) static int mdoc_root_pre(const struct roff_meta *meta, struct html *h) { - struct tag *t, *tt; + struct tag *t; char *volume, *title; if (NULL == meta->arch) @@ -485,18 +488,18 @@ mdoc_root_pre(const struct roff_meta *meta, struct html *h) mandoc_asprintf(&title, "%s(%s)", meta->title, meta->msec); - t = print_otag(h, TAG_TABLE, "c", "head"); - tt = print_otag(h, TAG_TR, ""); + t = print_otag(h, TAG_DIV, "cr?", "head", "doc-pageheader", + "aria-label", "manual header line"); - print_otag(h, TAG_TD, "c", "head-ltitle"); + print_otag(h, TAG_SPAN, "c", "head-ltitle"); print_text(h, title); - print_stagq(h, tt); + print_stagq(h, t); - print_otag(h, TAG_TD, "c", "head-vol"); + print_otag(h, TAG_SPAN, "c", "head-vol"); print_text(h, volume); - print_stagq(h, tt); + print_stagq(h, t); - print_otag(h, TAG_TD, "c", "head-rtitle"); + print_otag(h, TAG_SPAN, "c", "head-rtitle"); print_text(h, title); print_tagq(h, t); -- cgit v1.2.3