Solo una precisazione.
In XHTML (Strict) l'attributo name e` stato eliminato per tutti i tag, tranne che per gli oggetti interni ai form.
In particolare e` obbligatorio (in pratica) per i radio, che altrimenti non potrebbero appartenere alla stessa collezione.
Per l'accesso tramite JS, si usa il document.getElementById('ID_OGGETTO') per tutti gli elementi con l'attributo id; all'interno dei form si puo` usare ancora l'accesso tramite il name:
document.getElementById('ID_FORM').NOMEOGGETTO // per i tag con nome unico
document.getElementById('ID_FORM').NOMEOGGETTO[N] // per i tag con nome ripetuto (collezioni)
oppure
document.getElementById('ID_FORM').elements['NOMEOGGETTO'] // per i tag con nome unico
document.getElementById('ID_FORM').elements['NOMEOGGETTO'][N] // per i tag con nome ripetuto (collezioni)
dove evidentemente NOMEOGGETTO e` assegnato dall'attributo name.