These directions are for Linux Below: "GD"="Google Docs" "PB"="Pressbooks" The goal of this workflow is to make an accessibility ["a11y"] report about the GD as it will be transferred to PB or some other platform. Download GD file by File > Download > Web Page (.html, zipped) let's say into an otherwise empty directory "work," where we will assume you are now working. Do: % unzip *.zip % mv *.html book.html % /path/OOshow_colors book.html Look in book.html for text with the listed classes that is bad -- typically, various not-quite-blacks are fine, and often blue is for links, but make sure there aren't significant bits of text with another color that is used to convey meaning. a11y report: indicate whether any bad color<->meaning text is found in book.html and, if so, where Do: % /path/OOprep -v book.html % /path/OOoutliner -n -t tidy_book.html | less There should be no improperly nested headers (OOoutline will warn about them) All h1 tags should have the form "

Chapter :

" There should be no tags in headers. Probably no   in headers. a11y report: indicate whether any improperly nested headers are found, clean up other issues Handling figures: The goal is to get figure notations into a specific format, so that they can be automatically extracted for a11y investigation. First, let's make sure that just the word "Figure" is correctly capitalized and not abbreviated, by doing: % /path/OOcapitalize_figures -v tidy_book.html Do some by-hand fixing of general formatting issues, first in emacs in capfig_tidy_book.html: replace-regexp

with

replace-string

  with

replace-string igure  with igure (note space at the end of that line) search for the string image description, make sure they are all in reasonable places Do some by-hand fixing of tags which are not well formatted. Can find them by using % /path/OOfind_img_tags -v -b -n -s capfig_tidy_book.html which shows the lines with badly located tags, along with their line numbers. Variants can be useful: % /path/OOfind_img_tags -v -b -n capfig_tidy_book.html shows just the line numbers of those badly located tags % /path/OOfind_img_tags -v -c -n -s capfig_tidy_book.html shows the lines where there is an tag not followed by a caption line and the caption line not following an tag line % /path/OOfind_img_tags -v -c -n capfig_tidy_book.html shows just the lines numbers of an tag not followed by a caption line and of a caption line not following an tag line % /path/OOfind_img_tags -v -m -n -s capfig_tidy_book.html shows sequential blocks of lines all with tags % /path/OOfind_img_tags -v -m -n capfig_tidy_book.html shows just the line numbers of those sequential blocks % /path/OOfind_img_tags -v -a -n -s capfig_tidy_book.html shows all lines with tags % /path/OOfind_img_tags -v -a -n capfig_tidy_book.html shows just the line numbers of all lines with tags clean up tag and caption lines found above; in particular, make sure the first occurrance of a caption line is immediately following the appropriate image. If not, can insert a &npbs; between the

and the Figure on that caption-looking line to get later programs not to treat it as a caption line. also for images: make all multi-img figures which have lines like

Figure x.y ...

into

Figure x.y ...

% /path/OOfig_finder -v -n -c capfig_tidy_book.html -o go through .csv in LibreOffice and see if there are unknown figure types or missing figures, maybe tinker with capfig_tiday_book.html to fix them, run OOfig_finder again working here... Go through the search for "" in tidy_book.html fix epigraphs leave 1-col-1-row tables around LandA, a few other recognized structures remove other (superfluous) 1-col-1-row tables, leave note in doc if unsure to find strangely located
s, do: (this is ok for Table") patla=re.compile("

Licenses and Attributions") patH=re.compile("Licenses and Attributions...'s NOT followed by 'Licenses and Attributions...'s at line numbers: "+" ".join([str(x) for x in twolal])) if twoTorlal: print(f"Found {len(twoTorlal)} 'Licenses and Attributions...' or '

Table' at line numbers: "+" ".join([str(x) for x in twoTorlal])) for x in twoTorlal: print(f"{x} in section {tbl[lastHl[x]]}") to find strangely located

s, do: (this is ok for Going Deeper"s fh = open("tidy_book1.html","r") tb=fh.read() tbl=tb.split("\n") import re patt=re.compile("Going Deeper") patla=re.compile("

Licenses and Attributions") patH=re.compile("Licenses and Attributions...'s NOT followed by 'Licenses and Attributions...'s at line numbers: "+" ".join([str(x) for x in twolal])) if twoGDorlal: print(f"Found {len(twoGDorlal)} 'Licenses and Attributions...' or not followed by '

Going Deeper' at line numbers: "+" ".join([str(x) for x in twoGDorlal])) for x in twoGDorlal: print(f"{x} in section {tbl[lastHl[x]]}")