It's a Good Thing to ensure that there are IDs present the following JSF tags:
anything that's a NamingContainer
- elements that are "form fields"
- any sort of input field
- anything that is a button
- elements that send commands
Why? For portlets it is actually useful to not specify an ID on the NamingContainer so that it is automatically assigned using a dynamic namespace. That way you can have two instances of the same portlet on a page and the HTML ids will be different. --DaveBrondsema