Open Bug 388246 Opened 15 years ago Updated 19 days ago

UI for printing backgrounds for "print-friendly backgrounds only" option

Categories

(Toolkit :: Printing, defect)

defect
Not set
normal

Tracking

()

mozilla1.9alpha8

People

(Reporter: fantasai.bugs, Unassigned)

References

(Depends on 1 open bug)

Details

Currently we have a checkbox in the Page Setup dialog

 [ ] Print Background (colors & images)

I'm adding a third state for the background printing preference in bug 381466.
The three states will be
  - Never print backgrounds
  - Always print backgrounds
  - Only print backgrounds on pages that have a 'print' style sheet

The third state should be the new default. I'm opening this bug to find out what the UI should be: which other state(s) will be available through the UI and how they will be presented to the user.

One suggestion is to present all three states, e.g.

  Print backgrounds for [ Printer-friendly pages |V]
                        | All pages                |
                        |_No_pages_________________|

Another option would be to keep the checkbox UI, reword it, and let it toggle only between two of the states.
Component: General → Printing
Product: Firefox → Toolkit
QA Contact: general → printing
Target Milestone: Firefox 3 M7 → mozilla1.9beta1
Assignee: nobody → fantasai.bugs
Status: NEW → ASSIGNED
fantasai asked me, and I suggested:

   Print backgrounds:
   ( ) Always
   (*) On pages designed for printing
   ( ) Never

This is the same as HP's suggestion (bug 381466 comment 3), except they suggest the second radiobutton be "Only backgrounds designed for printing". However, the decisive factor is whether (according to the author) the *page* was designed for printing, not whether the background was.

(Disclaimer: Instead of a three-state pref, I would rather retain the current boolean pref for printing backgrounds when printing a page with its screen CSS, and have a separate boolean pref for printing backgrounds when printing a page with its print CSS. Whichever pref was currently relevant would be represented by the "Print backgrounds" checkbox in the Print dialog.)
Always nerve-wracking to follow up a mpt comment .. ;)

I would actually prefer to just change the single checkbox that we have so that it reads:

 [ ] Always print backgrounds (colors & images)

and interpret that to mean:

 - when checked, Firefox should always print background elements
 - when unchecked, Firefox should only print background elements specified by print.css

Absolute power users will be able to extend or about:config their way to success if they really want to avoid all background printing.

> (Disclaimer: Instead of a three-state pref, I would rather retain the current
> boolean pref for printing backgrounds when printing a page with its screen CSS,
> and have a separate boolean pref for printing backgrounds when printing a page
> with its print CSS. Whichever pref was currently relevant would be represented
> by the "Print backgrounds" checkbox in the Print dialog.)

I fully agree with the above. This feels like the sort of thing that someone would be deciding on a page-by-page basis, not the global settings of "Page Setup".
I understand the desire to keep the interface simple. However, I have found that any checkbox label beginning with "Always" is a design smell, because it suggests the meaning of the off state will be non-obvious.

That holds true in this case: since Web authors don't always do the right thing, without further explanation the opposite of "Always print backgrounds" would apparently be "Print backgrounds at random". You could explain the meaning of the off state with some text, but then you might as well turn that text into a radio button anyway.

If you are determined to confine the UI to one row, the three radio buttons could instead be three items of an option menu. I think that is unnecessary, however, because the "Page Setup" dialog is neither commonly used nor even slightly cramped.
It's less about confining the UI to one row and more about not expecting users to know which pages are "designed for printing". We have no visible indicator of the presence of print.css, and so if I'm looking at a page and I see that it's got some tiled picture across the background, I'll have no idea what to expect.

The "right" thing here is to move the pref from a global to a per-page use and make it part of the Print dialog, as we've both suggested.

I understand your point about the wording being non-obvious, but I'm not sure there's a good way around that which doesn't run into a requirement that the user understand when a page is designed for printing, which to me, doesn't make the UI any easier to understand.

The bug assignee is inactive on Bugzilla, so the assignee is being reset.

Assignee: fantasai.bugs → nobody
Status: ASSIGNED → NEW
You need to log in before you can comment on or make changes to this bug.