Riktlinjer för framtagning av Mallar
Det går att byga mallar med valfri form i Dynamix CMS. Vi har dock ett par rekommendationer som vi tycker man bör följa.
Separera form och innehåll
HTML är en språk för att bygga strukturerad information. W3C tycker därför att tabeller enbart skall användas för att formatara data som behöver delas upp i kolumner och rader såsom exempelvis en prislista eller telefonlista. Många gränssnittprogrammerare tycker om att använda tabeller för att bygga layouter men det finns många nackdelar med detta tillvägagångssätt. Förutom att man enligt W3C använder HTML fel så kan layouter som är tabelluppbyggda försvåra tillgången till en sida för personer med hjälpmedel såsom talsyntes eller brailleskärm.
Hur skall man då bygga en layout. Genom att använda divar som flyter på korrekt sätt i förhållande till varanda eller positionerade divar kan man lösa samtliga layouter.
Exempel gamla sättet att skapa en 3 kolumns-layout med marginaler:
<table width="320" height="100" cellpadding="0" cellspacing="0">
<tr>
<td width="100" bgcolor="lightgreen">
Left
</td>
<td width="10">
</td>
<td width="100" bgcolor="pink">
Middle
</td>
<td width="10">
</td>
<td width="100" bgcolor="gray">
Right
</td>
</tr>
</table>
Utan tabeller:
CSS:
<style type="text/css">
#leftCol
{
float:left;
width:100px;
height:100px;
background-color:lightgreen;
}
#middleCol
{
float:left;
width:100px;
height:100px;
background-color:pink;
margin-left:10px;
}
#rightCol
{
float:left;
width:100px;
height:100px;
background-color:gray;
margin-left:10px;
}
</style>
HTML:
<div id="leftCol"></div>
<div id="middleCol"></div>
<div id="rightCol"></div>
Left
Middle
Right
XHTML 1.0
Vi rekommenderar att ni bygger era mallar på standarden XHTML1.0 med det är inget krav.
Detta innebär följande:
All text måste nästlas korrekt
Taggar och attribut i gemener
Alla taggar måste stängas
Tomma element stängs också (ex <br />)
Attribut alltid inom citationstecken
ID ersätter namn-attributet
Inga attribut utan inskrivet värde, dvs:
<input readonly> (FEL)
<input readonly=”readonly”> (rätt)
| HTML |
XHTML |
| Compact |
compact="compact" |
| Checked |
checked="checked"" |
| Declare |
declare="declare" |
| Readonly |
readonly="readonly" |
| Disabled |
disabled="disabled" |
| Selected |
selected="selected" |
| Defer |
defer="defer" |
| Ismap |
ismap="ismap" |
| Nohref |
nohref="nohref" |
| Noshade |
noshade="noshade" |
| Nowrap |
nowrap="nowrap" |
| Multiple |
multiple="multiple" |
| Noresize |
noresize="noresize" |
XHTML - mimimumkod
<!DOCTYPE Doctype goes here>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Title goes here</title>
</head>
<body>
Body text goes here
</body>
</html>
Exempel på doctype:
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Se till så era egna innehållstyper klarar validering från http://validator.w3.org
Om mallarna innehåller speciallogik baserat på nivå i navigation etc så bör ni se över så att mallar klarar av att placeras på valfri nivå i webblösningen. En mallsida bör inte generera felmeddelanden för att någon redaktör råkar flytta eller kopiera in den på en annan nivå.
Utskrift
Skapa speciella CSS-stilar för utskrift. Undvik att ta fram specifika mallar för utskrift. Om du gör det se till så att sökmotorer inte följer dessa så ni i praktiken får flera sidor som har samma innehåll vilket kan medföra sämre indexering hos sökmotorerna.
Teckenkodning
Använd UTF8 som teckenkodning för dina filer.