Wechseln zu: Navigation, Inhalt

Archiv für HTML

Suchformular à la HTML5

HTML5 ist im Kommen und mit ihm ein modifiziertes Formularelement, das Suchfelder durch Aussehen und Funktion von einem normalen Textfeld abgrenzen soll. Dafür bedient man sich des Attributs type im Element input, in das man search anstatt von text einfügt, sodass der Browser erkennen kann, dass es sich um ein Suchfeld handelt. Das Attribut placeholder bietet dabei einen Platzhalter im Eingabefeld, den man vorher nur mit JavaScript realisieren konnte.

Vorher

Safari: type="text"

<form method="get" id="searchform" action="#">
<fieldset>
<legend>Suche</legend>
<input type="text" name="s" value="Suchbegriff" onfocus="if(this.value=='Suchbegriff')this.value = '';" onblur="if(this.value=='')this.value='Suchbegriff';" />
<input type="submit" value="Suchen" />
</fieldset>
</form>

Nachher

Chrome: type="search"

<form method="get" id="searchform" action="#">
<fieldset>
<legend>Suche</legend>
<input type="search" name="s" pattern=".+" required="required" placeholder="Suchbegriff" />
<input type="submit" value="Suchen" />
</fieldset>
</form>

CSS

Eventuell vorhandenes CSS muss natürlich angepasst werden, wofür man folgende Selektoren benutzen kann.

Type: Text

input[type="text"]

Type: Search

input[type="search"]

Weitere Möglichkeiten

Opera: type="search"

Ergänzend bietet sich die Möglichkeit das Suchfeld mit dem Attribut pattern vor dem Absenden auf einen regulären Ausdruck zu prüfen. Da das Suchfeld mindestens irgendein Zeichen enthalten soll, kann man z.B. pattern=".+" angeben. Zusätzlich sollte man noch required="required" setzen, was quasi das gleiche bewerkstelligt. Opera erlaubt dann das Absenden einer leeren Suchanfrage nicht mehr.

Fazit

Ich denke, dass die neuen Attribute sicher in Zukunft das Webdesign vereinfachen werden. Zwar behandeln alte Browser das Suchfeld wie ein Textfeld zuvor, solange die Browser mit den Informationen aber noch unterschiedlich umzugehen, sollte man wohl noch abwarten. Ich habe den Code deshalb nach einer kurzen Testphase erst einmal wieder deaktiviert. Er ware zudem nicht XHTML 1.1 Valid.

Links


HowTo: Testumgebung für Mobile Browser aufsetzen

Seit Apple der Internetnutzung auf Smartphones 2007 mit der Markteinführung des iPhones zum Durchbruch verholfen hat, hat sich auf dem Endgerätemarkt sehr viel getan und immer mehr Menschen verwenden mobile Endgeräte zum Surfen. Neben dem iPhone gibt es mittlerweile Android, webOS und viele mehr, sodass sich die Entwicklung von Applikationen für jedes mobile Betriebssystem viel zu aufwändig wäre. Stattdessen macht es mehr Sinn, speziell auf mobile Geräte optimierte Versionen von Webseiten anzubieten, die die kleine Bildschirmgröße der Smartphones effektiv und sinnvoll nutzen.

Mobile Browser: WPtouch

Unter WordPress gibt es hierfür ein Plug-in, doch für andere Webseiten ist es sinnvoll, sich eine Testumgebung für mobile Webseiten einzurichten, die lokal, wie diese iPad-Browser-Simulation, läuft.

Google Chrome bzw. Chromium bietet sich dabei als Browser an, da er, wie viele mobile Browser (iPhone, Android und webOS), WebKit verwendet. Die portable Version von Google Chrome, die man hier herunterladen kann, erweist sich dabei als vorteilhaft, weil man sie schnell auf den aktuellsten Chromium Build aktualisieren kann und beim Testen nicht die lokale Installation verändert.

Chrome Updater

Nachdem man über die Updater.exe den aktuellsten Chromium Build installiert hat, öffnet man Chromium und installiert die Erweiterung: Window Resizer.

Google Chrome-Erweiterung: Window Resizer

Diese skaliert das Browserfenster mit einem Klick auf die größe eines Touchscreens.

Portable Google Chrome

Um dem Webserver nun vorzutäuschen, dass es sich um ein Smartphone handelt, muss man den User-Agent anpassen. Dies kann man bei Chrome relativ leicht über einen Command Line Switch machen. Diesen trägt man entweder in der Verknüpfung zur Anwendung ein, startet über die Kommandozeile oder fügt ihn in der portablen Version einfach in der Datei parameter.txt hinzu.

Zum Testen hier die User-Agents von einiger verbreiteter Smartphones:

Apple iPad

Mozilla/5.0 (iPad; U; CPU iPhone OS 3_2 like Mac OS X; de-de) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B317 Safari/531.21.10

Apple iPhone

Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; de-de) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7

Apple iPod Touch

Mozilla/5.0 (iPod; U; CPU iPhone OS 3_1_3 like Mac OS X; de-de) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7E18 Safari/528.16

Google Nexus One

Mozilla/5.0 (Linux; U; Android 2.2; de-de; Nexus One Build/FRF50) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1

HTC Desire

Mozilla/5.0 (Linux; U; Android 2.1-update1; de-de; Desire_A8181 Build/ERE27) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17

HTC Hero

Mozilla/5.0 (Linux; U; Android 2.1-update1; de-de; HERO200 Build/ERE27) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17

Weitere User-Agents kann man bei DeviceAtlas oder in der Liste der User-Agents nachschauen. Standardmäßig lautet der User-Agent von Chromium (about:version) bzw. Minefield unter Windows:

Chromium 6.0.451.0

Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/534.2 (KHTML, like Gecko) Chrome/6.0.451.0 Safari/534.2

Minefield 3.7a6pre

Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.3a6pre) Gecko/20100628 Minefield/3.7a6pre

Google Chrome: Normal

Um den User Agent vom Nexus One zu verwenden, fügt man zum Beispiel folgende Command Line Flag in der parameter.txt hinzu.

--user-agent="Mozilla/5.0 (Linux; U; Android 2.2; de-de; Nexus One Build/FRF50) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"

Google Chrome: Mobil

Etwas ähnliches ließe sich unter Firefox wahrscheinlich mit den Add-ons User Agent Switcher und Firesizer auch einrichten. Dies habe ich allerdings noch nicht getestet.

Mobile Browser: Facebook Touch

Eine Testumgebung für mobile Webseiten einzurichten, macht nicht nur Sinn, wenn man Webseiten speziell auf mobile Geräte optimierten möchte. Sie hilft auch dabei einen Überblick darüber zu bekommen, welche Webseiten schon eine optimierte Version anbieten oder kann das Erstellen von Screenshots erheblich vereinfachen.

Links


HTML-Spickzettel

HTML-Spickzettel

HTML-Spickzettel

Vor allem als Anfänger hat man es schwer, wenn man anfängt HTML zu lernen. Es gibt viele Elemente und Attribute, die man sich einprägen muss. Aus diesem Grund habe ich für den HTML-Kurs, den ich zusammen mit einem Freund leite, eine Übersicht über den Grundlegenden Aufbau und die wichtigsten Elemente von HTML erstellt.

Da die meisten Teilnehmer aus der sechsten oder siebten Klasse sind, beschränkt das Cheat Cheet sich allerdings eher aus die Basics. Es ist als DOC und PDF verfügbar und unter Creative Commons-Lizenz lizenziert, sodass es gerne verwendet, bearbeitet und unter gleichen Bedingungen weitergegeben werden darf.

Passend dazu, gibt es auch einen CSS-Spickzettel für Anfänger.


Lightbox/Slimbox für XHTML 1.1 anpassen

Slimbox WordPress Plugin

Nachdem ich meine WordPress-Themes auf XHTML 1.1 umgestellt hatte, wurde die Freude durch ein Plug-in getrübt, das invaliden Code erzeugte; das Slimbox Wordpress Plugin.

Weiterlesen »

Ernsthafte Open-Source Alternativen

OpenOffice.org Writer

Open-Source ist nicht nur gut fürs Gewissen, sondern schont auch den Geldbeutel. Programm-Suites wie die “Creative Suite” von Adobe sind wohl die funktionsreichsten, aber auch die teuersten Programme auf dem Markt. Wenn man als Privatperson solche Programme benutzen will, muss man meistens sehr viel Geld bezahlen.

Doch es geht auch anders, denn mittlerweile gibt es genügend Open-Source-Alternativen zu den Marktriesen. Auch wenn diese vielleicht nicht immer an den Funktionsumfang der Vorbilder rankommen.

Weiterlesen »