May 2006 Entries
Tuesday, May 23, 2006 2:34 PM
Dopo uno "sfortunato incidente" avvenuto al webserver su cui hosto questo sito, sono faticosamente riemersa dal caos dei dati.
In tempo per un segnalare un articolo pubblicato oggi su "punto-informatico" che portava l'attenzione su un working draft del W3C, che riguarda un linguaggio, DIAL, per costruire pagine visibili su più device, con una maggior portabilità, usando al meglio le potenzialità dei CSS, dell'XML e dell'XTML, etc.
Magari prossimamente sbircierò ancora sulla relativa pagina del W3C.
Tuesday, May 16, 2006 5:45 PM
HouseMenu è un modulo per DNN che permette di visualizzare l'albero di navigazione dei contenuti con un markup differente dal SolPartMenu incluso in DotNetNuke.
E' molto più leggero (in termini di peso del codice scritto) ed è accessibile, perchè genera il menu con una "banale" lista puntata; n liste annidate se ci sono menu annidati.
L'accensione/spegnimento dei sottomenu è completamente gesita da CSS.
Ma tutta questa potenza è ancora troppa, perchè IE non si comporta affatto bene: infatti lo stesso autore del menù dichiara di non capire alcuni comportamenti strani che si osservano su IE.
Io ne potrei elencare un paio: differenze di applicazione dei css, per le definizioni di altezza, larghezza, padding etc, nonchè il fatto che il menù di secondo livello "sparisce" misteriosamente sotto altri livelli.
Ho cercato di capirne il motivo, ma senza risultato
Ho scritto all'autore, che infatti mi ha confermato lo slittamento del menù di secondo livello. Frequenza randomica, causa ignota, soluzione con accrocchi di varia natura.
E' vero che c'è chi sostiene che tutta l'informatica si basa su accrocchi, ma prima di ricorrervi, vorrei trovare una più solida e confortante soluzione!
Analizzando il codice, come indicatomi dall'autore, mi sono accorta che scrive un html diverso per FF da quello che scrive per IE: infatti per far funzionare su quest'ultimo il menù, l'autore si è inventato un modo curioso, scrivere un IFRAME.
Ed effettivamente funziona, non capisco come, ma funziona.
Il problema è che tutto finisce sotto questo IFRAME e poi si rende necessario ricorrere all'attribuzione dei z-index ai livelli su cui è residente il menù vero e proprio, per far in modo che il menù ritrovi non solo la sua visibilità, ma anche la sua funzionalità ( infatti non solo slitta sotto i livelli che gli sono a fianco, ma le voci che ospita non sono più cliccabili, perchè nascoste dall'IFRAME ).
Alla fine non ne sono uscita come avrei voluto, ma almeno ho ottenuto che il menù fosse usabile su entrambe i browser, anche se il ricorso agli z-index non lo avevo preventivato.
Spero che l'autore, trovi una soluzione più evoluta e stabile in futuro (oppure che il nuovo DNNMenu abbia le stesse funzionalità, ovvero sia possible configurare il primo livello del menu in una barra, ed il secondo e terzo livello in un'altra)
Monday, May 08, 2006 9:34 AM
Certo a tutti sarà capitato di dover affrontare il problema di avere un logo, o una immagine che sostituisce una titolatura, che sia essa un H1 o un H2.
Come farlo in modo responsabile?
Dave Shea, co-autore di "Lo zen e il design CSS", ha tenuto una traccia delle varie soluzioni proposte in un articolo intitolato "Revised Image Replacement": dal "display:none" di Todd Fahrner, conosciuta anche come tecnica FIR, dal nome del primo che l'ha proposta, alle sue varianti e altre soluzioni proposte.
Joe Clark raccolse commenti e testing del FIR in "Facts and Opinion About Fahrner Image Replacement".
Personalmente ho utilizzato la versione proposta da Mike Rundle (text-indent), che però ha come limite di non supportare IE 5.0. Con questo browser l'immagine viene spinta fuori dallo schermo insieme al testo.
#header{
text-indent:-5000px;
background-image:url(immagine.gif) no-repeat;
height:40px;
}
<h2>Titolo</h2>
Perchè dare importanza alla presenza in pagina di titolature che siano rintracciabili e chiare in quanto tali?
Invece di mettere un cappello a questo post, inserirò un footer, un promemoria sulla semantica.
E' importante scrivere codice che sia univocamente interpretabile, sia dal motore di rendering, sia da uno screenreader, se stiamo sviluppando un sito accessibile, e soprattutto dagli spider dei motori di ricerca. Scrivere scegliendo il markup più adeguato per il contenuto che stiamo trasmettendo, sicuramente è la scelta giusta.
Credo che chi legga questo post sappia di cosa sto parlando, perchè tanto si è detto in questi anni, ma se aveste qualche dubbio, rimando a questo articolo, "Sviluppare con gli Standard del Web", datato 2004, ma che sicuramente da una vasta e completa panoramica, per di più tradotta in italiano (pigroni!!)
Thursday, May 04, 2006 11:33 PM
Problema Doctype, qual'è quello giusto?
Questo problema mi tocca particolarmente, perchè Dnn purtroppo usa una dichiarazione non corretta, e nonostante ci sia la possibilità di inserire quella giusta, non è garantito che l'amministrazione poi funzioni correttamente.
Ma che cos'è il Doctype?
Document Type Definition, o semplicemente DTD.
Perchè usarla?
Perchè definisce quale versione di (X)HTML il tuo documento sta usando (oltre che poter utilizzare il validatore per controllare la sintassi del documento).
Se non ci fosse, o fosse incompleta?
Per la maggior parte dei browsers, la dichiarazione del doctype da la possibilità di procedere con il rendering del documento in modalità standard e compatibile con la versione del documento che abbiamo scelto di usare.
Di conseguenza anche il comportamento delle proprietà attribuite al mark up da un foglio di stile, ne verrà inevitabilmente influenzato.
In altro modo, cioè senza doctype, o con uno scritto in modo non corretto, il motore di rendering è costretto ad "inventare" il modo di interpretare la pagina (quirksmode), dando luogo a quegli errori dovuti alla confusione sulla versione, errori che appunto si riflettono anche nell'interpretazione dei fogli di stile.
Ad esempio, con il doctype non corretto, IE 6, "regredisce" ad un versione precedente, la 5 o la 4 addirittura, ereditando tutti quegli errori che pensavano di aver definitivamente chiuso nel cassetto.....
Questo, per esempio è un doctype non completo:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
mentre dovrebbe essere così:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
In questo articolo che affronta questo tema, vi sono elencati tutti i doctype disponibili: http://www.alistapart.com/stories/doctype/
mentre questa è la pagina di riferimento "ufficiale": http://www.w3.org/QA/2002/04/valid-dtd-list.html