I've a solution to use a label with an input. Is to use Html GWT widget to create this: <label> Description <input type="text" name="description" /> </label>
On 12 déc, 17:49, philippe <[email protected]> wrote: > Label tag must be used with input ID. With GWT we can't put an ID on > input tag so the label tag can't be used. > > I think that ID aren't authorized for avoid the double ID in the DOM > and bugs. > > HTML 4.01 or XHTML 1.1 are older. I hope that futur HTML version will > provide better management of dynamic pages. > > On 3 déc, 12:13, philippe <[email protected]> wrote: > > > > > I also think GWT has not a really good history regarding > > accessibility. > > >http://code.google.com/intl/fr-FR/webtoolkit/doc/1.6/DevGuideI18nAndA... > > > On 3 déc, 11:04, Thomas Broyer <[email protected]> wrote: > > > > On Dec 3, 4:45 am, Open eSignForms <[email protected]> wrote: > > > > > Does anybody know the history as to why GWT's Label widget uses a > > > > <div> instead of a <label> tag? > > > > Probably because the Label widget is only for showing some text, not > > > necessarily label an input widget (such as a TextBox). > > > I also think GWT has not a really good history regarding accessibility > > > (feel free to disagree with me) > > > > > The label tag allows the label to be tied to another element, such as > > > > the input tag, for accessibility, yet that seems lost with the Label > > > > widget. > > > > GWT is hiding HTML, the DOM, etc. from developers (when using widgets' > > > "high level" APIs), so that developers don't depend on widgets > > > internals. For instance, there's no method for setting a widget's > > > "ID", you have to getElement().setId("myId"); but there's a method for > > > setting IDs for debugging purposes (ensureDebugId). > > > > This means that if GWT had such a widget, it'd probably have a > > > setLabeledControl(...) method (to have a friendly API); which means > > > that: > > > - the NewLabel widget would have to create the ID of the labeled > > > control, which means it'd break as soon as ensureDebugId is called on > > > the labeled control > > > - the "link" between NewLabel and its labeled control would break as > > > soon as the labeled control's ID is changed, which breaks the > > > assumption that the "link" is between the widgets (you passed a Widget > > > to setLabeledControl, not an ID) > > > - because per the HTML spec [1,2], the for="" attribute references a > > > "control" [3,4], setLabeledControl would have to check the widget > > > argument for being "labelable". It'd better be done at compile time > > > than runtime, which would mean constraining the use of NewLabel to > > > labeling known widgets: TextBox (PasswordTextBox extends TextBox), > > > ListBox, TextArea, Button, FileUpload, SimpleCheckBox > > > (SimpleRadioButton extends SimpleCheckBox); which rules out user- > > > defined widgets, even if they use a "labelable" DOM element (well, > > > eventually, there could be a Labelable interface, but implementing it > > > wouldn't be enough for the NewLabel to "work") > > > > [1]http://www.w3.org/TR/html4/interact/forms.html#adef-for > > > [2]http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.htm... > > > [3]http://www.w3.org/TR/html4/interact/forms.html#h-17.2 > > > [4]http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.htm... > > > > If you were to have a setLabeledControlID(String) instead of > > > setLabeledControl(Widget), it'd mean you expect people to use the > > > lower-level getElement().setId(...) method of the labeled widget, > > > which also means they are aware that it can play quite badly with > > > ensureDebugId. Providing a high-level API (NewLabel widget and its > > > setLabeledControlID method) that requires users to use low-level APIs > > > in other widgets in order to use it, looks weird. > > > > I think GWT doesn't include such a widget for all these reasons. If > > > you want such a widget, you have to know the implications, i.e. know > > > GWT's internals, which means you are capable of writing the widget > > > yourself. > > > If GWT provided such a widget, expect a high number of bug reports, > > > just because people do not understand the implications, which means > > > incidentally much (too much) time spent on "fixing" the widget to make > > > it reliably work in almost all situations. > > > > > Seems like Label was a misnomer and should have been called Text to > > > > parallel HTML. > > > > Many widgets in other toolkits are called "label" without the > > > associated meaning of being associated with a control; for instance > > > java.awt.Label: http://java.sun.com/javase/6/docs/api/java/awt/Label.html > > > > > As for myself, I essentially copied the GWT Label widget source to > > > > make my own Label that creates a <label> instead. > > > > As for myself, I'm now using UiBinder, so the <label> is in the > > > *.ui.xml and if the labeled control has to be a widget, then in my > > > Java code I assign the labeled widget's ID and the label for="" to the > > > same createUniqueID() value. > > > You can search the GWT-C archives for a proposal to better handle this > > > in UiBinder; I also have a proposal (as a private Wave), but I'm > > > waiting for 2.0 to be released to make it public and actually discuss > > > it. -- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
