W3C home > Mailing lists > Public > whatwg@whatwg.org > January 2014

[whatwg] Constraint Validation and the title Attribute

From: TJ VanToll <tj.vantoll@gmail.com>
Date: Thu, 2 Jan 2014 13:22:51 -0500
Message-Id: <019D03CD-18D7-474B-9A42-91DD781A3F17@gmail.com>
To: whatwg@whatwg.org
Hello all,

I have a question related to showing the title attribute when constraint validation issues occur during a form submission.

In the current spec, the title attribute is only mentioned in relation to the pattern attribute:

"When an input element has a pattern attribute specified, authors should include a title attribute to give a description of the pattern. User agents may use the contents of this attribute, if it is present, when informing the user that the pattern is not matched, or at any other suitable time, such as in a tooltip or read out by assistive technology when the control gains focus." (http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#attr-input-pattern)

All browsers that have implemented the constraint validation API correctly follow this. However Blink takes this behavior one step farther; it displays the title attribute for any invalid constraint - not just pattern mismatches. For instance Blink will show this <input>'s title attribute in its message bubble.

<form>
    <input required title="hello world">
    <button>Submit</button>
</form>

I am wondering if Blink's behavior - always showing the title attribute - can be made the standard. The use case here is supplying additional, contextual information to the user - on top of the very generic message the user agent provides. While this is most valuable when using the pattern attribute, it can be handy for even simple required fields.

<input type="email" required title="We need your email address to reset your account if you forget your password.">

Adding this information to the validationMessage using the current APIs requires some non-trivial JavaScript (see http://jsfiddle.net/tj_vantoll/p2dT5/), and I think this would be a nice feature to have consistently implemented.

My apologizes if this has come up before, but I couldn't find anything to explain the implementation difference between Blink and other rendering engines.

Thanks,
TJ VanToll
Received on Thursday, 2 January 2014 18:23:19 UTC

This archive was generated by hypermail 2.4.0 : Wednesday, 22 January 2020 17:00:15 UTC