JSF is a specification language first and a markup language secondly. It's possible to attach alternative renderers to a JSF app for cases where HTML isn't the desired output - for example, an XML markup language like WAP or even PostScript (a la the old NeXt computers). Or really unique displays using unusual hardware.
By having the label "for=" attribute, you're logically binding the label to the data control regardless of its physical relationship in the original JSF, and you're saying that it's a label as opposed to generic text (maybe the custom display has the labels permanently printed on the faceplate so the labels don't need to render, but the data might need to be re-arranged to match).
It adds a little flexibility and portability.
An IDE is no substitute for an Intelligent Developer.
Joined: Oct 14, 2007
you're logically binding the label to the data control regardless of its physical relationship in the original JSF,