elementos de bloque dentro de elementos el linea html

Hola!

Es básicamente un estándar que se estableció para que cualquier otro software pueda leer el contenido sin importar el diseño de este.

En el caso de los lectores de pantalla, para personas con discapacidad visual, si utilizas un estilo para cambiar la propiedad inline a block de todos los elementos de tu página, al lector no le importará y podrá entender el contenido sin problemas. Sin embargo, si tu rompes el estándar, es probable que el lector de pantallas no pueda leer el contenido, causando que un usuario interesado se vaya de tu sitio web porque no pudo acceder al contenido.

Los lectores de pantalla no funcionan así realmente, pues no pueden confiar en que los desarrolladores sigan el estándar, pero la idea es que todos sigamos este estándar para permitir la integración con otros software (y usuarios de este).
Hola!

No me situé muy bien en tu respuesta pero creo que lo que quieres decir, es que si rompes el standar por ejemplo, poniendo un elemento de bloque dentro de uno en línea es probable que el lector de pantallas no pueda leer el contenido. Pero si modificas cualquier propiedad a inline o block con css como te comente, al lector de pantalla le dará igual ya que podrá entender el contenido perfectamente mientras cumplas con el estándar y se coloquen los elementos html como deben ser. ¿Acerté?
Entonces si pongo un elemento div dentro de un span y con css pongo por ejemplo: span {display:block} a los lectores de pantalla si le importara, ya que lo que le interesa son las etiquetas y que cumplan un estándar no los estilos css y aquí las etiquetas no están organizadas como deben ser, ¿pero por lo demás meter un div dentro de un span no tiene mayor significado?
p.d: que conste que siempre he cumplido con el estándar y jamás he puesto un div dentro de un span, pero la pregunta que abrí el debate me hizo pensar un poco sobre el asunto.