We were taught about the action of pressing the return key (enter) in a text field and the form automatically getting submitted if it has a submit button somewhere. now, ASP.NET has rule number 1 thaty you cannot have more than one runat FORMs in the page. The developers with that tendency use the same form tag to do different actions at different parts of the page.
The two buttons act differently even when they are submitting the same form. The first problem here is that return click won’t submit only one form at all times and will be the wrong one since all fields are within the same form tag. the second problem is that doing OnClick handlers requires a use of pointer which is not a requirement by accessibility guidelines. This hurts very badly that even simple keyboard navigation fails without using the pointer.
The runat FORMs also have another problem that developers cannot use the LABEL tags. LABELs provide a very fantastic var to give labels to text fields and selecting or clicking label text actually brings focus to the related text box. This feature required ID of the destination INPUT control to be given in the for attribute of the LABEL tag. The big failure in ASP.NET form based controls is that developers never know the ID of the field at design time. ASP.NET automaticallty generates the ID using several underscores. I tried ti mimic that but it is very hard and not portalbe at all. Even radio buttons or checkbox that have default tables in ASP.NET don’t use LABEL tags.


