Skip to content

Conversation

gesa
Copy link
Member

@gesa gesa commented Sep 12, 2025

I got a little nerd sniped on Mastodon by a conversation about accessibility and print styles. Browsers mostly don't implement the CSS paged media module, and the web version of typical ecmarkup output doesn't use the oldtoc class, so I needed to add just a few little things to make the site printable for web visitors.

Important

I fully admit I appended some print-related event listeners to a javascript file (sdoMap.js) that I didn't otherwise spend the time to totally understand. I'm trusting the baseline knowledge of reviewers for this repo to tell me if that can/should go somewhere else.


window.addEventListener('afterprint', () => {
if (!document.body.classList.contains('oldtoc')) {
document.getElementById('spec-container').before(document.getElementById('menu'));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This doesn't look like the inverse of beforeprint, which it seems like it should be. What's this trying to accomplish?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's moving the menu element around. first it moves the menu to before the metadata block, then afterward it puts the menu back where it was, before the spec container.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think these event handlers operate as inverses of each other as you claim.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, I see. I tested it in Chrome Canary and Firefox and it appeared to do what I expected it to do. mdn seems to think they exist for the purpose I'm utilising them for.

page-break-after: always;
}

/* Styles for web users who wish to print (or "print") the document */
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
/* Styles for web users who wish to print (or "print") the document */
/* Styles for web users who wish to print (or print-to-pdf) the document */

I think this is what was meant by the scare quotes?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lol they weren't meant to be scare quotes, it was meant to communicate that using the "print" function may not be used for the purpose of putting ink (or toner) to paper

@michaelficarra
Copy link
Member

Can you go into a little more detail about what this PR actually accomplishes?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants