HTML 4
Da perspectiva do HTML 4, os atributos são uma construção SGML. Seus limites estão definidos na Declaração SGML do HTML 4 :
QUANTIDADE SGMLREF
ATTCNT 60 - aumentado -
ATTSPLEN 65536 - Estes são os maiores valores -
LITLEN 65536 - permitido na declaração -
NAMELEN 65536 - Evite limites fixos em tempo real -
PILEN 65536 - implementações de UA HTML -
TAGLVL 100
TAGLEN 65536
GRPGTCNT 150
GRPCNT 64
O valor em questão aqui é "ATTSPLEN", que seria o limite na lista de especificação de atributos de um elemento (que deve ser o tamanho total de todos os atributos para esse elemento). A observação acima menciona que os limites fixos devem ser evitados, no entanto, portanto, é provável que não exista outro limite real além da memória disponível na maioria das implementações.
HTML 5
O HTML 5 parece ser diferente, como diz a especificação : "Esta versão do HTML retorna, portanto, a uma base não-SGML".
Posteriormente, ao descrever como analisar o HTML 5, a seguinte passagem aparece ( ênfase adicionada):
O algoritmo descrito abaixo
não limita a profundidade da árvore DOM gerada, nem o comprimento dos nomes de tags, nomes de atributos , valores de atributos , nós de texto, etc. Embora os implementadores sejam incentivados a evitar limites arbitrários, é reconhecido que preocupações práticas provavelmente forçará os agentes do usuário a impor restrições de profundidade de aninhamento.
Então, suponho que essa seja sua resposta.
iframe@srcdoc
( MDN (https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe) - [HTML5.2, que contém um documento inteiro ( Ouvi dizer que você gostou de documentos, então (…) )