Dovrei fornire fallback per elementi HTML5 / CSS3 in una pagina web a questo punto?

1

Mi chiedo se dovrei preoccuparmi di fornire un fallback per i tag HTML5 e gli attributi e lo stile CSS3 in questo momento.

So che probabilmente ci sono ancora molte persone che usano versioni precedenti dei browser e HTML5 / CSS3 sono ancora abbastanza nuovi.

Ho letto questo articolo: Devo usare tag non standard in una pagina HTML per evidenziare le parole? e una risposta diceva che le persone sono" cheat "con i browser più vecchi usando i nuovi tag e gli attributi, ma li disegna in CSS per assicurarsi che vengano visualizzati correttamente. Questa domanda: Rilevanza di HTML5: ora è il momento? è stato chiesto circa due anni fa e non so quanto sia più rilevante.

Ad esempio, voglio utilizzare gli attributi placeholder e required in un modulo Web che sto costruendo e non ha etichette per mostrare cosa è ogni <input> . Come gestisco questo, o do fastidio?

    
posta Abluescarab 29.06.2012 - 05:34
fonte

1 risposta

1

Dipende davvero da chi è il tuo pubblico di destinazione? È giusto aspettarsi un livello decente di tecnicità (leggi: probabilmente utilizza gli ultimi browser), quindi sarebbe un non-problema utilizzare qualsiasi tecnologia supportata dalle ultime due versioni dei principali browser. Se puoi aspettarti che una parte considerevole dei visitatori utilizzi browser obsoleti, potresti prendere in considerazione l'utilizzo di fallback.

In quasi tutti i casi, ciò significa creare un CSS separato per la maggior parte di Internet Explorer, heh. Per i problemi non correlati alla formattazione, esiste la possibilità di utilizzare una pagina contenitore separata per una versione basata su HTML 4.01. Ma ovviamente mantieni il contenuto separato, quindi non devi mantenere due versioni degli stessi dati!

Un esempio semplificato, usando PHP:

<html>
...
<?php
    $browser = new SupportChecker();
    if($browser->supports('html5') == true) {
        echo '<section id="news">';
        include('content.txt');
        echo '</section>';
    } else {
        echo '<div class="news">'
        include('content.txt');
        echo '</div>'
    }
?>
...
</html>

Ovviamente per una pagina vera, sarebbe stato usato un modo più ragionevole per raggiungerlo. Quanto sopra è solo una descrizione dell'idea. Lo stesso vale per l'intestazione della pagina. Puoi avviare la pagina con l'inclusione di un'intestazione basata sul supporto:

<?php
    $browser = new SupportChecker();
    if($browser->supports('html5') == true) {
        include('html5_header.txt');
        $_SESSION['support'] = 'html5';
    } else {
        include('regular_header.txt');
        $_SESSION['support'] = 'regular';
    }
?>

Potrei essere utilizzabile, direi. Quindi basta confrontare con la variabile di sessione.

    
risposta data 29.06.2012 - 07:23
fonte

Leggi altre domande sui tag