html5
Corso html 5,lezioni 9, 10, 11.
Roberto Abutzu su uiciechi.it, 2013-06, e 07-08.
Sommario:
a)Nona parte: I link, terza ed ultima parte.
b)Decima parte: il linguaggio Css, introduzione.
c)Undicesima parte: il linguaggio Css, i colori, accenni preliminari.
d)html 5: rettifica su la tag hgroup

a)Nona parte: I link, terza ed ultima parte.

`**********`

I link: terza parte.

Proseguiamo l'apprendimento dei link, introducendo le ancore. Queste sono
dei segnaposti che consentono a dei link appositi di spostarsi in maniera
rapida all'interno della stessa pagina dove si sta navigando.

Riconosciamo questa tipologia di link dallo screen reader che vocalizza:
"Link sulla stessa pagina".

Molto frequentemente, nelle pagine web dei siti accessibili, incontriamo i
seguenti link:

- Vai ai contenuti.
- Torna al menu principale.
- Salta il menu.
- Torna ai contenuti.

Questi sono tutti link sulla stessa pagina e sono collegati a delle ancore,
dei riferimenti che, tanto per farne una similitudine, possono essere
paragonati a dei segnalibri.

L'ancora non è altro che un punto ben definito della pagina, indicato con un
apposito codice html. Quindi, attivando ad esempio il link: Vai ai
contenuti, il link stesso punterà all'inizio dei contenuti della pagina,
dove noi avremo inserito il codice html dell'ancora. Però, è importante
sapere che queste ancore possono funzionare anche facendo puntare il link in
pagine diverse da quella in cui stiamo navigando, ma sempre all'interno
dello stesso sito. La differenza sta nel fatto che, se il link punta a
un'ancora in una pagina diversa, questa, appena si aprirà, posizionerà il
cursore, non all'inizio della pagina, bensì direttamente nel punto dove
abbiamo inserito il codice html dell'ancora.

Passiamo nel dettaglio del codice.

La prima cosa da fare è inserire il codice dell'ancora nel punto della
pagina dove vogliamo essere spostati dal link quando lo attiveremo con un
click o con invio.

Inseriremo in questo esempio un link per saltare il menu di navigazione,
andando direttamente ai contenuti della pagina.

Apriamo il nostro file Index.html con il blocco note e spostiamoci nella
riga precedente alla prima intestazione dei contenuti.

Inseriremo questa stringa: ``a id="contenuti"/a``

Notiamo che abbiamo la tag del link in apertura e chiusura, e un attributo,
id, che sarebbe l'identificativo, ovvero il nome proprio dell'ancora. Il
nome deve essere inserito tra virgolette, consiglio in minuscolo senza
punteggiatura e senza spazi. Scrivendo il codice sempre in minuscolo, saremo
salvaguardati da errori di lettura del codice da parte dei browser.
Comunque, se decidete di metterlo in maiuscolo, bisogna ricordarsi poi nel
link che ora inseriremo di scriverlo in maiuscolo. In ogni caso, evitate di
scrivere codice in maiuscolo. Infatti, dove è possibile, è sempre
consigliato di scrivere nomi e percorsi in minuscolo per evitare di
incappare in errori. Naturalmente è consigliato utilizzare nomi che
permettano di identificare l'ancora facilmente.

Adesso, inserita l'ancora, ci portiamo nella nostra index, proprio sopra
l'apertura della tag Nav e inseriamo il link che farà riferimento proprio
all'ancora e che, una volta attivato, sposterà il nostro focus all'inizio
della prima intestazione dei contenuti. Ecco il codice html del link per il
salto ai contenuti: ``a href="#contenuti"Vai ai contenuti/a``

Come possiamo notare, è un link normalissimo con all'interno delle
virgolette, il nome dell'ancora, preceduta da un cancelletto, che si ottiene
premendo sulla tastiera: Alt Grafico + la a accentata. Prima della chiusura
del link, la parte testuale che viene vista a video dall'utente, quella che
si chiama etichetta.

E' proprio il simbolo del cancelletto che richiama l'ancora. Nei link, come
specificato nelle precedenti lezioni, all'interno delle virgolette, viene
inserito il percorso dove punta il link stesso. Qui è la stessa cosa, solo
che il percorso sarebbe il punto esatto della stessa pagina dove è
posizionata l'ancora. Riepilogando, tra le virgolette, l'identificativo
dell'ancora, preceduta da un cancelletto sempre senza spazi.

Facciamo un altro esempio, inseriremo a fondo pagina, nel footer, due link.
Uno ci permetterà di tornare al menu principale, mentre il secondo ci
porterà ai contenuti, esattamente alla stessa ancora che abbiamo già
inserito. Vorrei sottolineare che le ancore devono avere un nome univoco per
ogni pagina. Non è possibile usare lo stesso identificativo per due ancore
diverse sulla stessa pagina. Diversamente, è possibile inserire più link che
portino alla stessa ancora, anche in pagine diverse.

In questo caso, sia per saltare il menu principale, sia per tornare ai
contenuti quando siamo a fondo pagina, possiamo utilizzare l'ancora:
"contenuti".

Procediamo con l'immissione dei due link di salto come indicato. Spostandoci
nel footer della nostra index, esattamente dove si trova il mio indirizzo di
posta elettronica, subito dopo la chiusura della lista di definizione:
``/dl``

Posizioniamoci a fine della riga e premiamo invio per andare a capo, creando
una riga nuova. Per prima cosa, tanto per fare esercizio, apriamo una lista
non ordinata. Inseriamo i due link di nostro interesse e chiudiamo la lista.
Ecco il codice corretto:

``ul``

``li``

``a href="#contenuti"Torna ai contenuti/a``

``/li``

``li``

``a href="#torna_al_menu"Torna al menu principale/a``

``/li``

``/ul``

Dobbiamo però inserire anche un'ancora, quella per tornare al menu
principale.

Osserviamo attentamente quello che ho scritto all'interno delle virgolette
del link: Torna al menu principale.

Ho inserito il cancelletto e poi: torna_al_menu.

All'interno delle virgolette, più parole possono essere divise anche dal
segno di trattino (meno) e dal maiuscolo iniziale per ogni parola, sempre
senza spazi, per far leggere bene a Jaws, ma è preferibile usare i due
metodi precedenti, dividendo le parole con il trattino o il sottolineato.
L'importante è poi inserire correttamente lo stesso testo
nell'identificativo dell'ancora.

Quest'ancora dovrà essere inserita subito prima della tag Nav, esattamente
nella riga precedente al link che abbiamo inserito precedentemente. Ecco la
stringa dell'ancora: ``a id="torna_al_menu/a``

Salviamo il lavoro fatto, premendo shift più F12, e apriamo la nostra home
page, index.html, con il browser predefinito. Facciamo tutte le nostre
prove, attivando i vari link di salto inseriti, e ne verifichiamo il
funzionamento corretto.

Nel caso si verificassero degli errori, riaprire il file index.html con il
blocco note e verificare il codice, navigando per carattere. Quando tutto
funziona correttamente, riportiamo tutto il lavoro eseguito sulla home page,
index.html, in tutte le altre pagine del sito.

Ovviamente, anche se si può utilizzare il copia ed incolla, consiglio di
scrivere il codice per ogni pagina che dobbiamo modificare, nell'ottica di
imparare a scriverlo per esercitazione e prendere confidenza con queste
stringhe. In futuro, quando vorrete aggiungere voi stessi qualche ancora ed
il suo link di riferimento, conoscere il codice vi aiuta tanto, evitandovi
di doverne cercare una già fatta e modificarla, pratica che può indurre più
facilmente in errore.

Utilizziamo gli stessi link per introdurre altri attributi dei link. Riporto
qui sotto la stessa lista non ordinata, con i link completi di questi nuovi
attributi e spiegandoli nel proseguimento della lezione. Ecco il codice
completo:

``ul``

``li``

``a href="#contenuti" title="torna ai contenuti (alt + z)"
accesskey="z"Torna ai contenuti/a``

``/li``

``li``

``a href="#torna_al_menu" title="Torna al menu principale (alt + b)"
accesskey="b"Torna al menu principale/a``

``/li``

``/ul``

Analizziamo i nuovi attributi inseriti nel codice modificato.

Subito dopo la chiusura delle virgolette, dove viene inserito l'indirizzo a
cui punta il link, troviamo uno spazio, e l'attributo: "title". Il title è
un fumetto che appare a video quando il puntatore del mouse viene
posizionato sopra il link. Si inserisce title, un uguale e tra virgolette
quello che vogliamo far apparire scritto nel fumetto.

Come avete constatato, ho inserito: uno spazio, la parola title, un uguale,
le virgolette, la scritta Torna al menu principale, uno spazio, una
parentesi tonda aperta, la parola alt, uno spazio, un segno più, uno spazio,
la lettera b, una parentesi tonda chiusa e le virgolette.

Notate che ho scritto tra le parentesi tonde il tasto di accesso rapido per
questo link. Comunque, questo testo non ha nessuna funzione attiva come
codice, ma è solo il testo che appare a video quando siamo sul link. In
pratica, ho indicato nel fumetto la combinazione ``Alt + b`` affinché possa
saperlo anche il vedente.

Lo Screen-reader riconosce da un altro attributo il tasto di accesso e lo
vocalizza automaticamente. Vediamo quindi un altro attributo, "accesskey"
che assegna ad un elemento una combinazione di tasti rapidi, per spostare il
focus direttamente con comandi da tastiera.

Nota importante:

- I browser hanno comportamenti diversi tra loro.
- Internet Explorer utilizza il tasto alt e la lettera indicata dal
programmatore per spostare il focus sul link. Una volta spostato il focus,
bisogna premere invio per attivare l'elemento.
- Mozilla Firefox utilizza lo stesso il tasto Alt, ma bisogna aggiungere
anche lo Shift oltre alla lettera indicata. Nelle ultime versioni, Firefox
attiva l'elemento direttamente con la combinazione di tasti, senza dover
premere invio successivamente.
- Google Chrome utilizza il tasto Alt insieme alla lettera indicata, e
attiva direttamente l'elemento.

Attributo "Accesskey".

Come specificato sopra, è possibile attribuire ai link e ad altri elementi
html, delle combinazioni di tasti per spostare il focus su di essi e, per i
browser che lo consentono, attivare anche questi elementi stessi. Per i non
vedenti le accesskey sono utilissime, ma anche l'utente vedente ne fa buon
uso.

Accesskey, come abbiamo visto sopra, è un attributo e, nel link che abbiamo
inserito, ho inserito questo codice: ``accesskey="b"``

Dopo le virgolette che chiudevano l'attributo title, ho inserito uno spazio
e poi l'attributo accesskey. In pratica, un uguale dopo la parola accesskey
e tra le virgolette la lettera che vogliamo assegnare all'elemento.

E' di fondamentale importanza fare attenzione a non assegnare la stessa
lettera a due elementi diversi, perché mentre con Internet Explorer ci si
può spostare sui link diversi con la stessa combinazione di tasti, per i
browser che attivano direttamente l'elemento, il comando non funzionerà.

Ritornando al codice dei link, al termine degli attributi, ho inserito un
maggiore per chiudere la tag di apertura del link, poi ho inserito il testo
visualizzato nella etichetta del link ed ho chiuso il link.

Ecco di seguito un ottimo esercizio per le accesskey: le inseriremo in ogni
link del menu principale della nostra home page, index.html. Dopo aver
salvato e verificato il funzionamento delle accesskey sulla home page,
bisognerà riportare il menu principale modificato in tutte le pagine del
sito.

Nota importante:

- Non è fondamentale, neanche per le varie certificazioni del w3c, inserire
le accesskey a tutti i link.
- Per avere un inserimento corretto e non dispersivo dell'attenzione del
navigatore,bisogna inserire queste scorciatoie da tastiera solo per gli
elementi veramente importanti del sito.

Di solito, si inseriscono solo ai link principali che si presentano in tutto
il sito, come, ad esempio, quelli del menu principale e nemmeno tutti. E'
importante, quando si inserisce una accesskey, riportarla correttamente in
tutte le pagine del sito.

Per esempio, se inseriamo una accesskey nel link: " Chi siamo", alt più C,
in tutto il sito, questo link dovrà avere la stessa accesskey, alt più C,
ovunque sia usato tale link.

Ecco di seguito tutto il menu principale della nostra Home Page, index.html,
con tutte le accesskey inserite da me.

Potete tenere le lettere da me inserite o cambiarle, ma è consigliabile
creare questo nostro sito esattamente come indicato nel corso, in modo che
qualsiasi spiegazione fornita, sarà aderente alle modifiche che man mano
apporteremo alle pagine.

Quando poi vi avventurate nella costruzione di un sito vero e proprio,
sarete voi a decidere che tasti assegnare ai link dei vostri siti, cosa che
farete anche in funzione delle etichette che assegnerete ai link. Vediamo
quali tasti ho assegnato ai link del menu principale. Ecco il codice:

``nav``

``h1Menu di navigazione/h1``

``ul``

``li``

``a href="index.html" title="home page (alt + h)" accesskey="h"Home
Page/a``

``/li``

``li``

``a href="chi_siamo.html" title="chi siamo (alt + c)" accesskey="c"Chi
siamo/a``

``/li``

``li``

``a href="lezioni.html" title="lezioni (alt + i)"
accesskey="i"Lezioni/a``

``/li``

``li``

``a href="html_5.html" title="html 5 (alt + t)" accesskey="t"html 5/a``

``/li``

``li``

``a href="Css.html" title="Css-fogli di stile a cascata (alt + s)"
accesskey="s"Css-fogli di stile a cascata/a``

``/li``

``li``

``a href="download.html" title="Download (alt + d)"
accesskey="d"Download/a``

``/li``

``li``

``a href="java_script.html" title=" Java Script(alt + j)"
accesskey="j"Java script/a``

``/li``

``/ul``

``/nav``

Il mio consiglio è di leggersi bene questo codice, scrivendolo manualmente
almeno nella index.html, anche se sarebbe molto istruttivo scriverlo a
memoria per tutte le pagine.

Se siete sfaticati, salvate il codice della Home Page e, solo se il tutto è
funzionante, copiate e incollate nelle altre pagine del sito, stando bene
attenti a non cancellare nulla che non sia compreso dentro la tag nav.

Anche immagini, o grafici in genere, possono essere usati come link. Vedremo
nella lezione dedicata alle immagini come crearli. Inoltre, vi anticipo che
le immagini comunque vanno poi gestite tramite i Css, quindi solo dopo aver
affrontato le prime nozioni del css, la prossima lezione, affronteremo le
immagini e i link grafici.

Ora inserisco due link che vanno copiati ed incollati all'interno sia della
Home Page, Index.html, sia all'interno di tutte le altre pagine del sito. Si
tratta dei link che permettono di richiamare i vari file css dall'interno
delle pagine html, per acquisire la formattazione degli elementi per poterli
mostrare come stabilito da noi sulla pagina web. Ecco i link da copiare:

``link rel="stylesheet" type="text/css" href="css/style.css" media="screen"
/``

``link rel="stylesheet" type="text/css" href="css/template.css"
media="screen" /``

Questi due link devono essere scritti o incollati all'interno della tag
"head", quella parte iniziale della pagina dove vengono inserite tutte le
informazioni non visibili nella pagina, ma utili al suo buon funzionamento.
Essendo abbastanza complessi da spiegare, rimando la spiegazione del loro
funzionamento a lezioni successive, non ritenendo opportuno esagerare con
termini ed attributi complessi. In questo momento del corso è preferibile
iniziare l'introduzione al linguaggio css. Per ora, è sufficiente sapere che
questi due link vi servono per caricare i CSS che vi permetteranno di poter
iniziare a dare un minimo di stile e un layout al sito. Tenete presente che,
se i futuri file Css non vi danno i risultati desiderati, analizzate in
questi due link il percorso dei file CSS. Verificate che sia corretto e che
siano corrette le cartelle e i file creati nelle prime lezioni.

Per comodità, comunque vi riepilogo velocemente:

1. Dovreste avere una cartella chiamata css.

2. All'interno di questa cartella, dovreste avere due file vuoti, creati
con blocconote e rinominati in: style.css e template.css.

Noi lavoreremo proprio su questi due file. Spero che sia tutto corretto come
indicato, altrimenti provvederete a ripassare le parti precedenti e mettervi
nelle condizioni indicate sopra.

Vi rimando alla prossima lezione, quando cominceremo a trattare
l'introduzione al linguaggio dei css, fogli di stile a cascata.

`***********`

Per ulteriori spiegazioni, scrivere a: `Roberto Abutzu
``roberto@evyweb.it``

***

b)Decima parte: il linguaggio Css, introduzione.

`**********`

Il linguaggio Css, introduzione.

Col passare del tempo e l'evoluzione del linguaggio html, ma soprattutto con
l'ampliamento delle funzionalità dei siti web, si è percepita la necessità
di separare la gestione degli elementi html dalla loro formattazione.

In origine ogni elemento veniva formattato direttamente nel file html,
quindi, oltre al codice html, nella pagina erano inseriti anche i codici di
formattazione del singolo elemento. Per questo motivo, ne risultavano pagine
lunghissime, con un codice molto complesso per la gestione e la
comprensione, soprattutto in fase di modifica.

Da qui l'idea di creare un altro file, con un linguaggio diverso, collegato
al file originale, con l'incarico di assegnare la formattazione agli
elementi. Tale file ha un suo nome e come estensione CSS.

Cosa significa CSS ?

CSS è un acronimo e significa: "Cascading Style Sheets". La traduzione
italiana potrebbe essere "fogli di stile a cascata". Però, in genere, Si
dice " foglio di stile", senza aggiungere altro.
Per capire l'utilità di questi file particolari, tanto per fare un esempio
molto semplice, se io desiderassi avere tutte le intestazioni di livello 1
(h1) con un colore verde, lo scriverei una volta sola nel file css, e tutte
le intestazioni h1 del sito sarebbero verdi. Lo stesso vale per il font del
carattere, lo stile e le sue dimensioni.

Ovviamente, utilizzando degli identificativi, posso comunque creare colori e
stili diversi per gli stessi elementi. Posso quindi avere tre intestazioni
h1, una verde, una rossa, una nera, e tutte con font diversi.

Il linguaggio Css non crea nessuna limitazione all'elemento e alla sua
formattazione, anzi, ci consente di stabilire quello che vogliamo e per gli
elementi che vogliamo, una sola volta. In pratica, tutto quello che sarà
stabilito sarà applicato in tutte le pagine del sito.

In rete è possibile reperire diverse nozioni sulla storia e sullo sviluppo
di questo linguaggio, quindi, c'è solo l'imbarazzo della scelta per il tanto
materiale reperibile. L'argomento è molto vasto e molto interessante, ma
rimando alla ricerca in rete tutti i curiosi e gli esigenti.

In questo corso, si parte immediatamente nello studio del linguaggio che,
pur non essendo complesso, è diverso come codice dal linguaggio html.
Naturalmente i codici che andremo a inserire nei nostri file css saranno
collegati e funzioneranno col nostro sito, procedendo parallelamente allo
studio del linguaggio html 5.

Cosa sono i file css.

Per creare i nostri file css sarà sufficiente aprire e salvare con nome due
file di testo creati con il blocco note di Windows. Appena creati, cambiamo
l'estensione da txt a css ed il gioco è fatto. I file css sono semplicemente
dei file di testo e vengono aperti da blocconote.

Nella creazione del nostro sito, se vi ricordate, avevamo creato nella
cartella principale una sottocartella chiamata css. Al suo interno avevamo
creato due file: style.css e template.css.

Questi nomi non sono obbligatori, ma sarà bene assegnare a questi file dei
nomi significativi. La ragione è presto detta: serve per avere sotto
controllo, in fase di modifica del layout del sito, la possibilità di capire
subito su quale file agire per correggere o modificare. Questi sono i nomi
che io preferisco assegnare, ma è comunque una cosa soggettiva. Niente vieta
al programmatore di assegnare nomi differenti, l'importante è poi riportare
correttamente i parametri giusti in esso dichiarati in modo corretto nel
codice del file html.

Per mia abitudine, utilizzo questi due nomi, assegnando al file style tutta
la formattazione dei caratteri, mentre al template rimando l'impaginazione
delle pagine del sito. Qualora dovessi assegnare qualche formattazione
specifica, quindi ad un solo determinato elemento, creerò un altro file,
pcss.css e ne inserisco all'interno il codice. Si lascia a ognuno la libertà
di decidere sia quanti file css utilizzare e i nomi da assegnare loro.

Mi limito solo a consigliarvi di evitare di creare pochi file troppo lunghi,
difficili poi da gestire, soprattutto quando bisogna apportare modifiche, e
di assegnare nomi ai file che possiate raggiungere subito senza doverli
cercare. Inoltre, se una pagina del mio sito necessita di una formattazione
particolare e unica, è buona norma assegnare lo stesso nome css della pagina
html. Per esempio, se si trattasse della pagina Turismo.html, è bene creare
il file CSS con il nome Turismo.css.

Nei file css, è possibile inserire lo stile dei caratteri, il loro colore,
il font con le rispettive dimensioni. Possiamo assegnare la formattazione
alle intestazioni, ai link, ai pulsanti e a tutti gli elementi. Inoltre, con
i file css è possibile posizionare un elemento in un determinato punto della
pagina, come è possibile dare le dimensioni alle immagini, oltre che
specificarne la corretta collocazione nella pagina.

Le possibilità sono infinite e man mano che il corso procede, le
affronteremo. Siccome questo corso nasce fondamentalmente per persone
disabili della vista, esattamente come il sottoscritto che è non vedente
totale da venti anni, si fa questa precisazione perché è importante
comprendere e accettare che, per formattare una pagina web, l'aiuto di una
persona vedente può essere fondamentale. Non intendo dire che serve un
vedente per inserire un'immagine o per dare il colore a un link, ma di certo
qualcuno dovrà vedere per noi se il risultato è gradevole per chi vede,
perché poi alla fine saranno proprio i vedenti i maggiori utilizzatori del
nostro sito.

Per esempio, potrei dover inserire un'immagine, ma qualcuno dovrà pur dirmi
se va ridimensionata o spostata, e soprattutto se quell'immagine realmente
abbellisce il sito. Quello che voglio dire è che questa è la normalità per
chi non vede e bisogna accettarla. E' mio interesse fare in modo che anche i
non vedenti possano scrivere pagine web, ma costruendole sempre senza
sminuirne la bellezza e costruendo dei siti che rispettino le giuste
proporzioni. Quindi mi sento in dovere di specificare anche i limiti che
abbiamo noi disabili della vista e come farsi aiutare. Tanto per capirci,
anch'io chiedo a mia moglie l'abbinamento dei colori e chiedo di scegliermi
le immagini più adatte. L'importante è che noi si sia in grado poi di
inserire il codice corretto.

Fatta la premessa, la prima cosa da fare, dopo aver creato i nostri file
css, è inserire i link nelle pagine html affinché questi possano richiamare
la formattazione che noi andremo a scrivere nei file css. Inizieremo aprendo
con il blocco note il nostro file index.html e andremo ad incollare queste
stringhe che sono i link che richiamano i file css. Queste stringhe,
abbastanza complesse, le spiegheremo successivamente.

Scrivo tenendo conto che avete creato una cartella css e che avete inserito
al suo interno i file: style.css e template.css.

Qualora avete deciso di utilizzare altri nomi per questi file, analizzate le
stringhe e sostituite i nomi dei file, anche se per il momento vi consiglio
di mantenere i nomi indicati nel corso, in modo che non ci saranno
incomprensioni o errori. Queste sono le stringhe da incollare nel file
index.html:

``link rel="stylesheet" type="text/css" href="css/style.css" media="screen"
/``

``link rel="stylesheet" type="text/css" href="css/template.css"
media="screen" /``

Queste stringhe, vanno incollate all'interno della tag: Head. Vi ricordo che
all'interno della Head vengono inserite quelle informazioni che non sono
visualizzate all'utente finale ma che comunque servono al buon funzionamento
del sito. Siccome nella head andranno inserite parecchie stringhe, bisogna
stare attenti a non inserire delle tag all'interno di altre tag, quindi, è
importante accertarsi di inserire del nuovo codice dopo la chiusura di tag
precedenti.

Io vi consiglio di fare come segue:

- Aperto i file index.html, scendiamo fino a trovare la chiusura della tag
head: ``/head``.
- Premiamo il tasto home per portarci ad inizio riga.
- Creiamo un paio di righe vuote sopra a questa tag di chiusura, premendo
ripetutamente il tasto invio.
- Con freccia su, troviamo le righe vuote appena create ed incolliamo il
codice sopra riportato.
- Chiudiamo la nostra index salvando le modifiche eseguite.

Questa modifica, quindi le operazioni sopra descritte, dobbiamo eseguirle
per tutti i nostri file html che abbiamo nella nostra cartella del sito.
Così facendo, ogni file html richiamerà i due file di stile: style.css e
template.css per la formattazione degli elementi come sarà da noi prevista.

Una volta indicato a tutte le pagine dove cercare i codici di formattazione
degli oggetti in esse contenuti, iniziamo a compilare i file css spiegandone
il codice, anche se prima dobbiamo vedere un po' di teoria, in modo da
semplificare la comprensione pratica degli elementi di un CSS.

Le varie indicazioni di stile che noi scriveremo nei file css, seguono una
struttura ben precisa:

Selettore ``{proprietà:valore; }``

Semplificando al massimo questa struttura, possiamo affermare che il
selettore è:

- L'elemento con il quale possiamo modificare lo stile.
- La sua proprietà è il tipo di modifica allo stile che vogliamo apportare.
- Il valore è la misura che assegneremo alla proprietà.

Ciò precisato, facciamo alcune considerazioni:

- Tra la proprietà e il valore va inserito il segno di due punti e si
consiglia uno spazio non obbligatorio.
- Ogni coppia Proprietà:valore (vedi segno di punteggiatura), viene chiusa
col punto e virgola.
- Tutte le proprietà:valore di un selettore vanno all'interno delle
parentesi graffe.
- E' possibile indicare più coppie di proprietà:valore, chiudendo ogni
proprietà:valore con il punto e virgola.
- Ogni coppia Proprietà:valore può essere scritta anche in righe
consecutive.

Esistono vari tipi di selettori e man mano ne vedremo l'utilizzo. Il più
semplice è quello che indica come formattare una tag html. Eccolo:

``h1 {proprietà: valore; }``

Iniziamo con il notare che i selettori non hanno i segni di maggiore o
minore.

E' possibile assegnare una coppia di Proprietà:valore a più selettori. Un
esempio:

``h1, h2, h3, h4 {proprietà:valore; }``

Notare che tra ogni intestazione ho inserito una virgola e uno spazio.

Questa proprietà e il suo valore verranno applicati agli elementi: h1, h2,
h3 ed h4.

Volendo assegnare uno stile per ogni intestazione sarà sufficiente scriverle
singolarmente:

``h1 {proprietà:valore; }``

``h2 {proprietà:valore; }``

``h3 {proprietà:valore; }``

``h4 {proprietà:valore; }``

Gli esempi sopra riportati possono servire anche quando si vogliono
aggiungere delle altre coppie di proprietà:valore agli elementi. Per
esempio, alle intestazioni h1, h2, h3 ed h4 posso prima assegnare una stessa
coppia proprietà:valore come il font, e poi, però, riscrivendole separate
posso dare ad ognuna di esse un colore diverso.

Esistono altri selettori molto specifici. Per esempio:

- I selettori contestuali. Si intende per questi selettori la possibilità di
dare delle regole particolari. Significa dare delle regole specifiche per un
determinato contesto, cioè, un selettore che si trovi in un determinato
punto della pagina, magari all'interno di una determinata tag, o che sia
figlio di un determinato elemento, applicherà le proprietà:valore che gli
abbiamo dato.
- I selettori adiacenti che, quindi, devono essere consecutivi per
attribuirgli una regola.

I selettori, comunque, essendo tanti, saranno spiegati nel dettaglio
successivamente, nella pratica, cosa che renderà tutto più semplice.

Portiamoci nella cartella del nostro sito, entriamo nella cartella css e
premiamo invio sul file template.css. Il file è vuoto.

Ognuno, quando fa queste cose adotta dei metodi personali per tante cose,
come per esempio, inserire un titolo, una nota, il proprio nome piuttosto
che una sigla, oppure altro. L'accorgimento che uso sempre io quando faccio
programmazione, è quello di inserire in ogni file che modifico, quindi,
anche nei file css, la data dell'ultima modifica eseguita. Questo ci aiuta
quando dovremo apportare modifiche o aggiunte nel file che stiamo
modificando.

Inseriamo per ora la data, quindi, digitiamo:

``/* 01 Agosto 2013 */``

Per il browser che legge il file css, questo risulta essere un commento e,
non solo non influenzerà il funzionamento del file css, ma sarà ignorato
anche dal browser.

Come avete potuto notare, i commenti nei file css vengono identificati,
nella loro apertura e nella loro chiusura, inserendo dei caratteri
particolari:

- apertura del commento: una barra (shift più 7), e un asterisco (shift più
il tasto più).
- Chiusura del commento: un asterisco (shift più il tasto più), e una barra
(shift più 7).

Tra queste due coppie di caratteri sopra indicati, inseriremo tutto quello
che vogliamo indicare come note per leggere meglio il file css. Verificate
con cura l'apertura e la chiusura dei commenti, visto che, a causa di un
commento errato, il file css potrebbe anche non funzionare.

Per prima cosa, inseriremo il colore dello sfondo del sito, spiegando
successivamente la suddivisione e la codifica dei colori, con le loro
assegnazioni. Ecco la stringa da inserire:

``body {background-color: #F0FFFF; }``

Per chi non ne fosse a conoscenza, riporto le combinazioni di tasti per
scrivere le parentesi graffe:

- Aperta parentesi graffa ``({)``, = control più alt più Shift più e
accentata.
- Chiusa parentesi graffa ``(})``, = control più alt più shift più il tasto
più.

In sostituzione delle combinazioni di tasti control più Alt, è possibile
utilizzare l'Alt di destra, alt grafico.

Se si può usare il tastierino numerico, con i numeri inseriti, queste due
parentesi si ottengono anche con alt più 123 e con alt più 125,
rispettivamente per parentesi graffa aperta e parentesi graffa chiusa.

Un altro simbolo che incontreremo nei file css è il simbolo cancelletto
``(#)``. Questo simbolo si ottiene premendo Alt grafico più la a accentata.

Analizziamo la stringa inserita, in modo da capire meglio con che cosa
abbiamo a che fare.

La prima parola che incontriamo è: body, un elemento html.

Scritto in minuscolo, ma fate attenzione sempre a come l'avete scritto nel
file html, perché quello che scriviamo in questo tipo di file è sensibile al
maiuscolo e al minuscolo. La parola body ci indica che tutte le modifiche
che apporteremo all'interno delle parentesi graffe, verranno apportate alla
parte di pagina delimitata da questa tag, dalla sua apertura alla sua
chiusura, parte che poi sarebbe tutta la nostra pagina visibile.

Riassumendo, body è la tag, quindi il selettore, tutto quello dentro le
parentesi sono le sue proprietà e i rispettivi valori.

Dopo la parola body, digitiamo uno spazio, digitiamo la parentesi graffa
aperta e digitiamo un altro spazio.

Digitiamo ancora: ``background-color: #F0FFFF;``

Questa è la proprietà che indica il colore da assegnare allo sfondo.

background-color:

Attenzione che è presente un trattino tra le due parole. A tale scopo,
ricordo a chi utilizza il solo Screen-reader, di impostare la punteggiatura
su "tutto" quando si lavora con il codice.

Dopo la proprietà, inseriamo i due punti e uno spazio.

Scriviamo il valore dell'attributo che nel nostro caso specifico è:
``#F0FFFF``

Abbiamo un cancelletto e successivamente sei caratteri che, a seconda del
colore scelto, possono essere lettere o numeri. (Codice Esadecimale come
vedremo più avanti).

In pratica, questo è un modo di inserire i colori, utilizzando il codice
esadecimale di ogni singolo colore. Esistono in rete vari programmi e siti
per trovare le corrispondenze tra i colori e i codici esadecimali. E'
possibile poi utilizzare il nome del colore, scrivendolo in Inglese, se
compreso nei sedici colori primari, oppure, utilizzare delle percentuali.
Per ora noi vedremo e utilizzeremo solo questo sistema e nella prossima
lezione darò una spiegazione approssimativa dei colori esadecimali.

Attenzione! Preciso che questo cancelletto è una caratteristica dei colori,
non è un simbolo da inserire prima del valore di una proprietà. In pratica,
i sei caratteri che identificano un colore sono preceduti dal cancelletto.

Subito dopo il valore, senza spazi, inseriamo un punto e virgola, chiudendo
la coppia proprietà:valore.

Se non bisogna inserire altre proprietà, inseriamo uno spazio e chiudiamo la
parentesi graffa.

Nota bene:

- E' importante rispettare le spaziature, il maiuscolo e minuscolo,
soprattutto nei nomi delle tag. Per non sbagliare, quando si scrive codice è
buona abitudine scrivere sempre in minuscolo.
- Ogni coppia, proprietà:valore, viene chiusa con il punto e virgola e uno
spazio.
- E' possibile inserire svariate coppie.
- Inserita l'ultima coppia, inserire uno spazio e la parentesi graffa
chiusa.

Salvate le modifiche apportate al file Template.css. Aprite il file
index.html con Internet Explorer. Se avete fatto tutto correttamente,
dovreste avere uno sfondo celestino. Per chi utilizza lo screen reader Jaws,
utilizzando la combinazione di tasti: insert + 5 (tastiera estesa) vi viene
vocalizzato il colore del carattere e dello sfondo. Salvo modifiche
apportate alla grafica del computer o del browser, dovrebbe dirvi: nero su
azzurro. Il primo colore è il carattere, il secondo lo sfondo.

Nella prossima lezione faremo un po' di esercizi per entrare in confidenza
con i colori del nostro sito. Solitamente, i colori nei vari manuali per
apprendere l'uso dei fogli di stile, vengono spiegati a corso inoltrato,
dopo altre nozioni. Io preferisco darne una leggera infarinatura all'inizio,
perché ritengo che può dare più soddisfazioni e più incentivi a chi inizia,
per il proseguimento del corso.

Se proprio vogliamo essere certi del risultato ottenuto, per non fidarsi
troppo di Jaws che tratta i colori a modo suo, sicuramente chiederemo a
qualche vedente di verificare il risultato del nostro lavoro. Generalmente,
se si mostra ad un vedente una pagina in bianco e nero, di solito, non
permette al vedente di apprezzarne il valore, mostrandogliela a colori,
anche se è un primo approccio, è sempre una cosa più professionale.

Anche se basta inserire un colore sgargiante per ottenere più soddisfazioni,
bisogna fare attenzione a non usare colori troppo spinti che causano
generalmente inaccessibilità per i soggetti Ipovedenti. Per avere qualche
indicazione su quali colori non usare, basta leggersi qualche intervista di
Massimiliano Martines, componente della Commissione OSI, sul sito
www.uiciechi.it/osi/

Oltre ai colori sconsigliati, è anche buona norma avere un contrasto
sufficiente tra testo e sfondo, per evitare che differenze minime, creano
problemi anche ai vedenti, oltre che agli anziani e agli ipovedenti. Di
questo ne parleremo in modo più approfondito più avanti.

Per quanto vi posso sembrare cinico, ricordate che la rete è prevalentemente
costituita da immagini e colori. Vedenti o no, noi se vogliamo realizzare
dei bei siti, dobbiamo obbligatoriamente attenerci alle regole del web. Se
queste cose le impareremo bene, costruiremo sicuramente dei bei siti, oltre
a programmarli accessibili.

Vi rimando alla prossima lezione, per trattare i colori dei css,
ricordandovi che sono fogli di stile a cascata.

`***********`

Per ulteriori spiegazioni, scrivere a: `Roberto Abutzu roberto@evyweb.it`_

***
c)Undicesima parte: il linguaggio Css, i colori, accenni preliminari.

`**********`

I colori, accenni preliminari.

Nella parte precedente, volendo assegnare un colore allo sfondo del nostro
sito, abbiamo inserito un codice, una indicazione di stile, formato da un
cancelletto e altri sei caratteri. Stavamo lavorando nel file: template.css
e, dopo il commento, abbiamo inserito: ``body {background-color:
#F0FFFF; }``

Questa è una delle notazioni che abbiamo a disposizione per indicare i
colori di un elemento di una pagina web. Ne esistono anche altri, tra cui:

- Scrivere il nome in inglese, per esempio, red per rosso, green per verde,
black per nero, ecc, in sostanza i sedici colori in inglese.
-Utilizzare il metodo chiamato RGB.

Il discorso che affronteremo noi è quello che ho già accennato nella parte
precedente e, precisamente, si tratta del sistema esadecimale.

Come funziona?

Sono 6 caratteri consecutivi che possono essere numeri o lettere e questi 6
caratteri vengono suddivisi in coppie. Lavorando insieme indicano:

- Il primo ed il secondo sono la gradazione del colore rosso.
- il terzo ed il quarto carattere sono la gradazione del verde.
- Il quinto ed il sesto sono la gradazione del blu.

La Sigla RGB, infatti, indica i colori Red (rosso), Green (verde) e Blue
(blu).

Nell'indicazione dei colori col sistema RGB, nei Css, invece dei caratteri
alfanumerici, vengono inserite le percentuali del singolo colore.

Il sistema esadecimale e il sistema RGB, anche se sono simili, sono scritti
nel codice in maniera differente. Lo vedremo in seguito e per ora diamo una
leggera spiegazione dei colori con la notazione esadecimale. Anche questi
lavorano con Red, Green, Blue, quindi Rosso, Verde e blu. I caratteri,
numeri e lettere, nel codice esadecimale, aumentando o diminuendo, aumentano
la gradazione dei tre colori, creando poi tutti i colori e le loro
sfumature.

L'unità di misura parte dallo zero e fino al nove, poi continua dalla
lettera A e fino alla lettera F. Quindi, da zero ad effe. Le lettere vanno
sempre scritte in maiuscolo. Partiamo con gli esempi che in parte
chiariscono la teoria.

``#000000``, corrisponde al nero. Lo zero è il valore più basso.

``#FFFFFF``, corrisponde al Bianco. La lettera F, che và scritta sempre
maiuscola, indica il valore più alto.

Altri esempi:

``#FF0000``, indicherà il colore Rosso.

``#00FF00``, indicherà il colore verde.

``#0000FF``, indicherà il colore Blu.

Utilizzando lo screen reader Jaws, premendo Insert + 5 della tastiera
estesa, vi viene vocalizzato il colore del carattere e dello sfondo, per
esempio, nero su bianco. Purtroppo non sempre funziona questa
vocalizzazione. A volte può essere necessario aggiornare con Insert + escape
prima di richiedere il colore sia del carattere che dello sfondo.

Per chi utilizza altri screen reader, verificate nella guida del vostro
programma il comando per la vocalizzazione dei colori di carattere e sfondo.
Vi consiglio di provare a sostituire il codice del colore nel vostro
Template.css e verificare nella Index come varia lo sfondo.

Come già detto, in rete esistono vari siti per recuperare le varie
combinazioni e vi rimando alla rete per questa ricerca. Le combinazioni sono
migliaia e non potrei riportarle tutte. Vi consiglio comunque di visitare
questa pagina dove potrete trovare chiarimenti e vari colori con il codice
corretto: it.wikipedia.org/wiki/Lista_dei_colori

Per utilizzare l'indicazione dei colori con il sistema RGB bisogna indicare
la percentuale che si desidera per ogni colore, separando tale percentuale
da una virgola e uno spazio. Un paio di esempi:

``rgb(100%, 0%, 0%)``

Questo è un esempio che indica il colore rosso.

Per far capire meglio, riporto tutta la stringa che avevamo precedentemente
inserito nel file Template, sostituendo la notazione esadecimale con quella
RGB.

``body {background-color: rgb(0%, 100%, 0%); }``

Notate che ho azzerato il rosso e il blu, dando il valore massimo, 100%, al
verde. Dopo la proprietà, la stringa che indica il colore del nostro sfondo,
si inseriscono i due punti e uno spazio. Poi l'indicazione rgb e
successivamente, all'interno delle parentesi tonde, i valori in percentuale
separati da una virgola. Dopo la chiusura della parentesi tonda, il punto e
virgola, uno spazio e chiudiamo la parentesi graffa.

Provate a modificare le percentuali e applicare come esercizio queste
percentuali allo sfondo. Potete anche variare a vostro piacimento e
verificarne poi il risultato, usando sulla pagina aperta con Internet
Explorer, il comando di Jaws insert più 5 della tastiera estesa.

Possiamo applicare queste nozioni anche ai vari elementi di una pagina web,
quindi, anche alle pagine html del nostro sito. Facciamo un altro esempio
che servirà poi per fare esercitazioni, mentre costruiamo il sito.

Apriamo il file style.css ed iniziamo a scrivere, anche in questo file,
qualche dato di formattazione. All'inizio inseriamo la data come indicato
precedentemente, inserendo i codici dei commenti, barra e asterisco
all'inizio, e, asterisco e barra alla fine del commento.

Nota bene, come già spiegato nella parte precedente, nei file css, se non si
inseriscono i commenti mettendo una barra seguita dall'asterisco all'inizio,
e un asterisco seguito dalla barra alla fine del commento, il css non
funziona, dando anche errore di codice quando si verifica il codice con i
validatori che si possono usare.

Una volta che abbiamo inserito la data come commento, inseriamo il seguente
codice :

``h1 {color: rgb(100%, 0%, 0%); }``

Salviamo le modifiche e apriamo il nostro file Index.html, andando a
verificare che le intestazioni h1 siano realmente rosse.

Nota importante: ogni volta che effettuate una modifica al codice, sia a
quello html, sia a quello Css, quando aprite il file index.html, aggiornate
sempre la pagina con f5 prima di verificare le modifiche effettuate, per
evitare di visualizzare la pagina in memoria e non quella fisicamente
modificata. Infatti, si può verificare che il computer mantenga il file
temporaneo, facendovi visualizzare la pagina precedente alla modifica
eseguita.

Premendo F5, siete certi che questo non può accadere, perché si aggiorna la
visualizzazione e il browser ricarica la pagina nuovamente, anche se si
rende conto che è già in memoria.

Per fare esercitazioni, provate ad effettuare il cambio dei colori per tutte
le intestazioni, o per altri elementi della nostra index. Volendo, potete
anche dare un colore diverso ad ogni livello di intestazione. Per questi
esercizi, come già consigliato in precedenza, vi consiglio di utilizzare
magari una copia del vostro sito. L'importante è di avere sempre una copia
del sito originale del corso in linea con le modifiche eseguite nelle
lezioni, tanto, avrete in futuro tutto il tempo per applicare ai vostri siti
tutte le personalizzazioni che vorrete.

Nota importante: anche se sono certo che ci sono delle persone alle quali
certi comportamenti sono ritenuti lesivi della propria personalità e non le
accettano, questo è uno di quei casi per i quali è inutile farsi venire i
mal di pancia, perché senza la vista l'aiuto di una persona vedente non
guasta mai in fase di verifica. Inoltre, è sempre buona norma far visitare
il nostro sito a più persone prima di metterlo visibile a tutti. Sempre
meglio avere più opinioni e a volte, magari è necessario fare una media per
un buon risultato.

Per quanto possa sembrare sbagliato, il sito non deve piacere a chi lo crea,
ma a chi lo visita. Questo concetto vale sia per la disposizione dei colori,
ma anche per la struttura stessa del sito. Infatti, un sito viene giudicato,
secondo le indicazioni del W3c, nei primi secondi della sua apertura. Se
create siti disordinati o con colori sgradevoli, il sito verrà richiuso e
mai più riaperto da chi avrà questa cattiva prima impressione. Il cercare di
colpire l'utente con colori troppo vivaci, o con troppi effetti speciali,
non solo può avere esattamente l'effetto contrario a quello che si aspetta
il programmatore, ma crea anche, per gli ipovedenti e gli anziani, un
problema di fruizione dei contenuti, con la sgradita sorpresa, se fatto
analizzare da persone competenti, di aver realizzato un sito inaccessibile
alle persone che vedono male. Certamente non sarebbe una bella cosa Se un
cieco assoluto creasse un problema di questo genere, pensateci!

Riassumendo, è importante che voi vi rivolgiate a più persone per avere
opinioni realistiche sullo stato dei vostri risultati. Non me ne vogliate,
ma mettiamoci bene in mente che il web nasce per le persone vedenti e tale
rimane. A noi la possibilità e la capacità di farne anche uno strumento
nostro, ma senza mai pretendere lo stravolgimento della rete. Sta a noi, non
solo pretendere l'accessibilità quando i siti li costruiscono gli altri, ma
anche saper costruire in modo accessibile il sito quando a costruirlo siamo
noi con le nostre mani.

Le indicazioni sulla notazione dei colori nei file css, è volutamente
ridotta allo stretto necessario solo per iniziare ad operare. Nelle lezioni
più avanti di questo corso, spiegheremo altri concetti e abbreviazioni del
codice. Accontentiamoci per ora di quello che abbiamo visto, perché con
queste poche nozioni, avete ciò che serve per inserire tutti i colori in un
sito web.

Vi rimando alla prossima lezione dove vedremo le indicazioni dello stile a
seconda dello stato dell'elemento. Esattamente vedremo i link visitati, non
visitati, col puntatore sopra e nel momento della sua attivazione. In
pratica, vedremo come si imposta il colore di un link in funzione di come
cambia il suo stato.

`***********`

Per ulteriori spiegazioni, scrivere a: `Roberto Abutzu roberto@evyweb.it`_

***
d)html 5: rettifica su la tag hgroup
Roberto abutzu su mondoinformatica, 29\07\2013, h. 18.50.

Questa mail è prevalentemente dedicata a chi segue il mio corso html 5  publicato mensilmente in 
pcciechi e in esclusiva in questa lista.
Nelle prime lezioni ho parlato di una tag: hgroup.
Questa era una nuova tag per raggruppare le intestazioni.
Ebbene è stata levata e non viene più supportata in questo linguaggio.
Questo perchè questa tag creava alcuni problemi di accessibilità che anch'io avevo notato.
Spiegherò in una prossima lezione i motivi di questa decisione che arriva direttamente dal W3c.
Per ora, chi ha provato a creare le pagine col mio corso, potrà direttamente riaprire la index e 
tutte le pagine dove questa tag è contenuta.
Cancellare fisicamente sia la tag di apertura e quella di chiusura.
Salvare le modifiche.
Attenzione che questa tag comunque non implica il funzionamento del sito.
Ma non è più certificabile in quanto non rispetta più le normative.
Ricordo che il linguaggio html5 è ancora aperto a modifiche e dovrebbe risultare definitivo nel 
2015.
Quindi può capitare che qualcosa venga modificato.
Un abbraccio a tutti e vorrei dirvi che questo mese sono previste le prime due lezioni del 
linguaggio css.
Torna all'indice