Generalmente quello che hai è un sito web per piattaforme che possono ospitare schermi di grandi dimensioni (PC, Mac, tablet, ecc.) e un altro sito web per piattaforme più piccole. C'è una ragione per questo.
La maggior parte delle aziende con cui ho lavorato tende ad avere una visione a breve termine e, in quanto tale, non specifica affatto o / e non prepara nulla per una versione "lite" del loro sito web. Solo quando il sito web completo è pronto e vivo su Internet iniziano a pensare alle versioni mobili ... Ora, questa mentalità sta cambiando lentamente ma sarà progressivamente nelle menti delle persone (solo sviluppatori, ma anche i manager) di pensa a tutte le piattaforme contemporaneamente prima di iniziare lo sviluppo di un sito web. Il fatto è che in genere è molto più difficile progettare in seguito se non fosse previsto.
C'è anche un'altra ragione "tecnica" per lo sviluppo di siti web separati. Il fatto è che, dal momento che non hai molto spazio sullo schermo, non devi solo utilizzare efficacemente i CSS per visualizzare le informazioni in modo user-friendly, ma potresti anche dover visualizzare "meno" informazioni, e solo la più importante (dal modo in cui la versione "mobile" di StackExchange è un perfetto esempio di come dovrebbero essere presentate le informazioni, sembra fantastico!). Puoi nascondere le informazioni secondarie con i CSS, ma un po 'di tempo sarà sprecato nel recuperare queste informazioni dal tuo livello di accesso ai dati, usando queste informazioni nelle tue pagine dinamiche ... e poi nascondendole con CSS perché non viene visualizzato su schermi più piccoli. Il tempo è denaro. Sappiamo tutti cosa succede quando un sito Web impiega troppo tempo per essere caricato, semplicemente non lo usiamo più.
Ora, possiamo essere tutti d'accordo sul fatto che è realizzabile solo con i CSS (e qualche rilevamento del browser lato client e server) ma devi sviluppare il tuo sito web mantenendo questo obiettivo nella tua mente sin dall'inizio. Spesso capirai ad esempio che il tuo sistema di navigazione con grandi menu e simili non funziona correttamente sui telefoni cellulari, che le tue foto occupano troppo spazio / dimensioni, che il tuo codice HTML è brutto, ecc. Questo è spesso il caso dei siti web esistenti già da tempo, ma non necessariamente. Ciò potrebbe anche essere dovuto al fatto che a volte è "più pulito" avere siti web / viste separati.
Questo è il motivo per cui spesso devi prendere una decisione tra l'hacking di CSS specifici per dispositivi mobili nel tuo sito web completo, oppure lo sviluppo rapido di una versione "lite" per schermi più piccoli.
Modifica: ho dimenticato di rispondere esplicitamente alla domanda. La mia risposta è che il rilevamento del browser (dimensione del client con JS AND lato server) e i CSS sono in effetti utilizzati per visualizzare diverse visualizzazioni del tuo sito web a seconda delle dimensioni degli screen reader.
Infine: controlla questo articolo , contiene esempi dei diversi approcci che è possibile adottare per creare una versione mobile di un sito Web.