спецификация HTML говорит
Идентификаторы ID и NAME должны начинаться с буквы ([A-Za-z]), за которой может следовать любое число букв, цифр ([0-9]), дефис ( "-" ), подчеркивания ( "_" ), двоеточия ( ":" ) и периоды ( "." ).
И даже если объявление SGML HTML 4 использует значение 65536 для NAMELEN, оно отмечает "Избегайте фиксированных пределов".
Но, безусловно, браузеры, реализации CSS и инструментарий JavaScript должны иметь некоторые ограничения на длину, которую они поддерживают. Каков самый маленький такой предел, который можно безопасно использовать в приложении HTML/CSS/JS?