I will attach an HTML file + stylesheet that demonstrates the issue. Repro steps: 1) Open the attached HTML file in Safari - Note that there is a div with color #FFFFFF at the bottom of the page which you can't see 2) File -> Print... to bring up the Print dialog Expected: the div with white text doesn't appear in the print preview Actual: the div appears as light grey text at the bottom of the page The div prints as consistently darker grey than the color assigned to it in the stylesheet... eg giving it a color of #DDDDDD makes it print as ~#AAAAAA. This bug makes it very difficult for me to get a true light grey in the printed output. This repros in the latest Safari nightly.
Created attachment 17873 [details] Test case reduction
I believe this is expected behavior for the case that a developer has placed white text on a dark background and not provided a print style sheet. The idea is that it's a web designer's responsibility to create a print style sheet that sets content it doesn't want to appear in printouts as "display: none" In any case, I confirmed the behavior. Also, Firefox displays the "white" text as black in print. I recommend a resolution of "invalid".
I'm not trying to hide the text by setting its color to #FFFFFF, I'm demonstrating that this div always prints darker than how it renders in the browser. The real-world scenario I ran into was that I wanted this div to be #DDDDDD both in the web view and in the printed view. When I printed, it came out as #888888... setting it to #FFFFFF was the only way to get the correct output color, and even then it's darker than I'd like.
This may be a bug outside of WebKit.