Closed Bug 640670 Opened 13 years ago Closed 13 years ago

2 issues with the "Mozilla privacy policy" link

Categories

(Websites :: donate.mozilla.org, defect)

x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: bruant.d, Unassigned)

References

(Blocks 1 open bug)

Details

User-Agent:       Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9.2.14) Gecko/20110221 Ubuntu/10.10 (maverick) Firefox/3.6.14
Build Identifier: 

1) First, clicking the link opens the page in the same page. This can be annoying in the following scenario:
User fills the form, reaches the link and checkbox, wants to read the privacy, clicks the link.
User is relocated to somewhere else. All form is lost. So is the user from our point of view...
I would recommand that this link opens a new tab by default.

2) Clicking the link checks the box (because the <a> element in inside the <label> element). This is not an expected behavior. A user who wants to read the policy may or may not want to check the box afterward. We shouldn't force it. I recommand to put the link outside the <label> element.

Reproducible: Always
Blocks: 640657
I forgot to say that it's on the Join Mozilla page
A good point. Devin, Paul, any issues opening in a new tab/window for the next iteration of Join Mozilla?
Chelsea, we just added the following script to the link in BSD via Fundraising Pages > Protect the Web > Compliance:

onclick="window.open(this.href); return false;"

Then the page loads in a new window and should not check the "agree" box. (This approach is valid and has been tested in Webkit and Firefox on Mac OS X).
Thanks Devin. David can you confirm please?
(In reply to comment #3)
> onclick="window.open(this.href); return false;"

You have to use... JavaScript(!) to open a link in a new window? You can't simply make add target="_blank" to the <a> tag? Kind of sucks for JS-free users...
We don't have to use JS. But we typically prefer this technique over target="_blank" since that's only valid in transitional doctypes.

If the _blank technique is preferred for non-JS browser support, we certainly won't argue. It's a very simple change via the BSD control panel. :)
target="_blank" is entirely compliant with HTML5.
Both EN and DE are all set with target=_blank
Thanks. The second issue (clicking the link checks the box) remains.
In order to solve it, the link has to be defined outside the <label> element. I've just tried on Firebug and it doesn't break the style.
Correct, but we do not have control over the form (input or label) and simply define the label content within the BSD CMS.

Screenshot: https://img.skitch.com/20110310-qmmaf3dw9hhjf5m1akjfrhatug.png

Chelsea, please let us know if this is worth surfacing to BSD. We'll happily proceed as directed.
I know what I'm going to ask is kind of hacky. Please forgive me in advance.

Apparently, you're allowed to add links, so certainly HTML too (especially if you're allowed to put JS on elements). Would it worth a try to close the label element right before the link?
If your code is pasted without control from their side, it will do what I am asking for. The second closing label tag should be ignored by web browsers. If BSD changes the system and uses the text somewhere else than within a <label>, then our closing label tagged should be ignored as well.

I'm quite confident on the behavior for FF/Chrome, but mught requiring testing on IE6/7/8 to make sure it doesn't blow the page up.

Let's give it a try? :-)
As requested, "close the label" change implemented:

https://donate.mozilla.org/page/contribute/protect-the-web

`<label for="legal_confirm">I agree to the</label> <a href="http://www.mozilla.org/about/policies/privacy-policy.html" target="_blank">Mozilla privacy policy</a>.</label>`

But, of course, this is now a validator error:
http://validator.w3.org/check?uri=https%3A%2F%2Fdonate.mozilla.org%2Fpage%2Fcontribute%2Fprotect-the-web&charset=%28detect+automatically%29&doctype=Inline&group=0

Line 489, Column 323: Stray end tag label.
(In reply to comment #12)
> As requested, "close the label" change implemented:
Thanks :-)

> https://donate.mozilla.org/page/contribute/protect-the-web
> 
> `<label for="legal_confirm">I agree to the</label> <a
> href="http://www.mozilla.org/about/policies/privacy-policy.html"
> target="_blank">Mozilla privacy policy</a>.</label>`
> 
> But, of course, this is now a validator error:
> http://validator.w3.org/check?uri=https%3A%2F%2Fdonate.mozilla.org%2Fpage%2Fcontribute%2Fprotect-the-web&charset=%28detect+automatically%29&doctype=Inline&group=0
> 
> Line 489, Column 323: Stray end tag label.
That is true. But I think that this is one of these cases where we say that it's a feature not a bug. We have functional goals (not checking the box when looking up the privacy policy) and a very restrictive environment we are apparently not willing to change in the short term.

The choices we have to make with current constraints is between:
- JS solution (with an accessibility issue)
- Having a validator error (we already have some anyway)
- Not fulfilling the functional goal.

My choice goes to having a validator error. I prefer the validator to be unhappy than someone trying to Join Mozilla from a JSless web browser. But once again, that's only my opinion, it's up to debate.
Entirely agreed on the reasoning. This is the pragmatic approach.

We defer to you guys and Paul/Chelsea. Marking resolved.
Status: UNCONFIRMED → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Just to make sure. Has it been tested on IE6/7/8? I do not care breaking HTML validity, but I wouldn't want IE users to have a bad user experience. Unfortunately, I'm on Ubuntu on my laptop, so I'm unable to test on IE.
>I wouldn't want IE users to have a bad user experience

Yes, of course not.

All work tested in virtual machines: Windows XP: IE6. Windows 7: IE7, IE8.

Thanks for checking.
You need to log in before you can comment on or make changes to this bug.