W3C home > Mailing lists > Public > public-html@w3.org > February 2008

Review of the 3.16 section and the HTMLInputElement interface

From: Samuel Santos <samaxes@gmail.com>
Date: Sun, 10 Feb 2008 23:11:58 +0000
Message-ID: <fe7db4750802101511r55df51a1r7c61631ba5c967b7@mail.gmail.com>
To: WHATWG <whatwg@whatwg.org>, HTMLWG <public-html@w3.org>
I've already tried to comment on this issue [1] but I think I haven't
achieve to make my point clear.

When developing a web application I can't usually rely on the languages
configured on the user browser (sent through the Accept-Language).
Often I need to send e-mail or sms notifications and I need to know the user
preferred language, so I need to have it saved on the user profile on the
database.
The same applies to the application web interface. Not all the users want
the default language of the application to be english, but few of them
configure the languages in their browser. That causes the user to have a
different language configured in their application's profile and in the
browser. In summary, what I mean is that I can only trust the language the
user has chosen in his profile and not in the language send by the browser.

This is a problem for the input element with type="file". If the language
selected in his profile is, e.g. portuguese, and the language in the browser
is english (the default), he will see all the application in portuguese and
the input file browse button text value will be in english.

In the section 7. Extensions to the HTML Level 2 DOM interfaces [2] of the
Web Forms 2.0 specification the HTMLInputElement interface is defined like
this:
interface HTMLInputElement : HTMLElement {
           attribute DOMString       defaultValue;
           attribute boolean         defaultChecked;
  readonly attribute HTMLFormElement form;
           attribute DOMString       accept;
           attribute DOMString       accessKey;
           attribute DOMString       align;
           attribute DOMString       alt;
           attribute boolean         checked;
           attribute boolean         disabled;
           attribute long            maxLength;
           attribute DOMString       name;
           attribute boolean         readOnly;
           attribute unsigned long   size;
           attribute DOMString       src;
           attribute long            tabIndex;
           attribute DOMString       type;
           attribute DOMString       useMap;
           attribute DOMString       value;
  void               blur();
  void               focus();
  void               select();
  void               click();

  // new in this specification:
  readonly attribute NodeList        forms;
           attribute DOMString       min;
           attribute DOMString       max;
           attribute DOMString       step;
           attribute DOMString       pattern;
           attribute boolean         required;
           attribute boolean         autocomplete;
           attribute boolean         autofocus;
           attribute DOMString       inputmode;
           attribute DOMString       action;
           attribute DOMString       enctype;
           attribute DOMString       method;
           attribute DOMString       target;
           attribute DOMString       replace;
  readonly attribute HTMLElement     list;
  readonly attribute HTMLOptionElement selectedOption;
  readonly attribute RepetitionElement htmlTemplate;
  readonly attribute HTMLCollection  labels;

           attribute DOMTimeStamp    valueAsDate;
           attribute float           valueAsNumber;

  void stepUp(in int n);
  void stepDown(in int n);

  readonly attribute boolean         willValidate;
  readonly attribute ValidityState   validity;
  readonly attribute DOMString       validationMessage;
  boolean            checkValidity();
  void               setCustomValidity(in DOMString error);
  void               dispatchChange();
  void               dispatchFormChange();
};

What I propose is to add a new attribute to the input element like this:
           attribute DOMString       browseText;
this allows us developers to change the input file browse button text to
have it in the same language as the rest of the application and not with the
language selected in the browser.

[1] http://lists.w3.org/Archives/Public/public-html/2008Jan/0104.html
[2] http://www.whatwg.org/specs/web-forms/current-work/#dom

-- 
Samuel Santos
http://samaxes.com/
Received on Sunday, 10 February 2008 23:12:08 UTC

This archive was generated by hypermail 2.3.1 : Monday, 29 September 2014 09:38:52 UTC