chris340: Webseiten für Mobiltelefone/ iPhones; HTML-Standards...

Darf man hier nur Fragen stellen oder sich auch nur einfach mal auskotzen und auf eine spannende Diskussion hoffen? Ich mach das einfach mal...:

Vor ca. 8 Jahren (also sozusagen in  HTMLs spätpubertärer Phase) habe ich hobbymäßig mit HTML angefangen und mich seither regelmäßig damit beschäftigt. Meine erste etwas komplexere Seite hatte dann promt auch das, was man als "Javascript-Browserweiche" bezeichnet. Da ich ganz konsequent nur das schrieb, was ich auch verstand, hatten meine Seiten natürlich am Anfang keine Dokumentdeklaration, sprich waren im Quirks Mode. Ich googelte und fand eben besagte Browserweichen, um das Problem von unterschiedlichen Layout-Darstellungen zu umgehen, erst viel später, als ich viel mehr hier bei SelfHTML gelesen hatte, stolperte ich über die Dokumentendeklaration. Seitdem achte ich peinlich genau darauf, was da am Anfang meiner Seiten so steht. ;-) So viel zur Vorgeschichte...

Ich habe jetzt für ein paar Freunde eine kleine, aber feine Seite gebastelt. Mit DTD, W3C-validiert, alles wunderbar, Seite im Netz.
Dann krieg ich ne Email "Du, die Seite geht nicht richtig im iPhone/ aufm iPad! Irgendwie scrollt die da nicht, man sieht das meiste des Inhalts nicht..."
Ich schmeiße Google an und nach etwas längerer Recherche bekomme ich raus, dass das iPhone keine seiteninterne Scrollbalken (die's auf besagter Seite gibt) unterstützt! Jedenfalls nicht bei <div>-tags mit dem style-attribut overflow:auto; wie's bei iframes aussieht, weiß ich nicht.

also.... GEHT'S NOCH??? Was soll das denn? das ist W3C-Standard! Fängt jetzt die ganze, Entschuldigung, Scheiße wieder von vorne an??? - Sie tut es. Nach etwas weiterem Googeln fand ich tatsächlich sowas hier in der Art als Lösung:

  
        var u = navigator.userAgent.toLowerCase();  
        var apple = u.match(/(iphone|ipod|ipad)/);  
        window.onload = pageDesign;  
  		  
  function pageDesign(){  
        if (apple) {  
        //... (z.b. style-sheets ändern)  
        }  
  }  

So steht's jetzt jedenfalls auf meiner Seite.

Aber: Darf man das??? Ist das moralisch vertretbar? Damit unterstützt man ja nur den Müll, von dem ich eigentlich glaubte, wir hätten ihn heutzutage mit halbwegs annehmbaren IExplorern endgültig hinter uns! Mal ganz abgesehen davon, dass ich noch lange nicht weiß, wie das bei anderen (nicht-Apple) Mobilgeräten aussieht (von denen soll's ja allen Unkenrufen zum Trotz auch noch 2-3 geben), ob es Unterschiede gibt zwischen verschiedenen Browsern auf dem iPhone und was das iPhone sonst noch so nicht kennt, obwohl es W3C-konform ist...

Würde mich sehr freuen, hier mal ein paar Meinungen dazu von Euch zu lesen.

Liebe Grüße und fürs Erste gute Nacht,
Chris

  1. Ich schmeiße Google an und nach etwas längerer Recherche bekomme ich raus, dass das iPhone keine seiteninterne Scrollbalken (die's auf besagter Seite gibt) unterstützt! Jedenfalls nicht bei <div>-tags mit dem style-attribut overflow:auto; wie's bei iframes aussieht, weiß ich nicht.

    So ein Unsinn - man muss nur wissen, wie man das Ding bedient :p

    also.... GEHT'S NOCH??? Was soll das denn? das ist W3C-Standard!

    Die funktionsweise von Scrollbars und deren vorhandensein? Nein. Wozu auch? Auf den Meisten Multitouch-Geräten scrollt man anders.

    Aber: Darf man das??? Ist das moralisch vertretbar?

    Nein, es ist nur dumm - genauso dumm ist es ein Schriftvergrößerungsknöpfchen einzubauen. Solange man Browserfeatures nachbaut lernen die Leute nie selbst mit ihren Browsern umzugehen.

    Nur weil dein Freunde zu dämlich für ihr iPhone sind ...

    Mal ganz abgesehen davon, dass ich noch lange nicht weiß, wie das bei anderen (nicht-Apple) Mobilgeräten aussieht [...]

    Dasselbe Problem: meistens gute Browser und unfähige Benutzer - viele sind sogar damit überfordert auf einem Touchscreen ein mouseover-Event auszulösen.

    1. So ein Unsinn - man muss nur wissen, wie man das Ding bedient :p

      Aha! Es geht also. Na, das ist ja immerhin beruhigend zu lesen. Mit anderen Worten: in einigen Jahren, wenn die Bedienung entsprechender Mobilgeräte etwas mehr im unterhaltungselektronischen Alltag angekommen ist, wissen auch mehr Leute, wie man es anständig bedient.
      Jetzt könnte man höchstens Apple vorwerfen, dass seine Geräte bei genauer Betrachtung doch nicht immer so intuitiv zu bedienen sind, wie immer behauptet wird.

      Nein, es ist nur dumm - genauso dumm ist es ein Schriftvergrößerungsknöpfchen einzubauen. Solange man Browserfeatures nachbaut lernen die Leute nie selbst mit ihren Browsern umzugehen.

      Bin mir nicht ganz so sicher, ob es deswegen "dumm" ist (danke auch ;-) ). Glaube kaum, dass jemand wegen einer auf den ersten Blick "iPhone-untauglichen" Webseite die Bedienungsanleitung seines Geräts hervorkramt...

      [...] - viele sind sogar damit überfordert auf einem Touchscreen ein mouseover-Event auszulösen.

      Das wüsste ich auch nicht (hab auch kein solches Gerät). Wie denn? Die entsprechende Stelle grimmig angucken?

      Grüße, chris340

      1. Jetzt könnte man höchstens Apple vorwerfen, dass seine Geräte bei genauer Betrachtung doch nicht immer so intuitiv zu bedienen sind, wie immer behauptet wird.

        Das kann man Apple nicht zur last Legen, andere Systeme sind auch nicht intuitiv zu bedienen - oder hast du schon mal Intuitiv ein Linux, Mac OS oder Windows bedient, ohne zuvor je eines "in der Hand gehabt" zu haben?

        Das wüsste ich auch nicht (hab auch kein solches Gerät). Wie denn? Die entsprechende Stelle grimmig angucken?

        Nein ;)

        Ein einzelner Klick löst bei mouseover- und click-Event zuerst den mouseover aus, der zweite Klick ist dann das click-Event.

        1. Hallo,

          [mouseover-Event]

          Das wüsste ich auch nicht (hab auch kein solches Gerät). Wie denn? Die entsprechende Stelle grimmig angucken?
          Ein einzelner Klick löst bei mouseover- und click-Event zuerst den mouseover aus, der zweite Klick ist dann das click-Event.

          und wenn man mit dem Finger auf die Touchscreen-Oberfläche tippt, den Finger dann aber auf der Oberfläche liegenlässt, wird normalerweise kein Klick ausgelöst. Der entsteht nur, wenn man drauftippt und den Finger sofort wieder wegnimmt.

          So kenne ich das zumindest von eingen anderen Touchscreen-Lösungen, und hoffe doch sehr, dass Apple das auch so realisiert hat.

          Ciao,
           Martin

          --
          Ich bin im Prüfungsstress, ich darf Scheiße sagen.
            (Hopsel)
          Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
        2. Hello,

          Ein einzelner Klick löst bei mouseover- und click-Event zuerst den mouseover aus, der zweite Klick ist dann das click-Event.

          hmpf, kein Wunder dass ich meinen Browser immer frustriert anschreie warum er die Links nicht öffnen will und kurz davor bin den Finger vor Wut DURCH das Display zu drücken...

          MfG
          Rouven

          --
          -------------------
          sh:| fo:} ch:? rl:( br:& n4:{ ie:| mo:} va:) js:| de:] zu:| fl:( ss:) ls:& (SelfCode)
          Was das Verhalten eines Experten so besonders macht ist sein Wissen und seine Erfahrung und nichts besonderes an ihrem oder seinem Gehirn. Wir gehen davon aus, dass die Prozesse die dem Denken zugrunde liegen sehr gradlinig sind. Wahrnehmung und selektive Suche.  --  Herbert A. Simon, Nobelpreisträger, 1916-2001
        3. Hi,

          Ein einzelner Klick löst bei mouseover- und click-Event zuerst den mouseover aus, der zweite Klick ist dann das click-Event.

          bei nochmaligem Lesen ... ah ja, die Variante gibt's auch. Hatte ich zuerst falsch verstanden. Ich kenne es von anderen Implementierungen hauptsächlich so:

          Antippen, Finger liegenlassen und ggf. bewegen:
             -> Maus bewegen ohne zu klicken
          Antippen, Finger sofort wieder wegnehmen:
             -> Klicken und loslassen
          Antippen, Finger sofort wieder wegnehmen, erneut antippen, Finger liegenlassen:
             -> Klicken und halten (z.B. für Dragging)
          Antippen, Finger sofort wieder wegnehmen, erneut antippen, Finger wieder weg:
             -> Klick+Doppelklick

          Ciao,
           Martin

          --
          Dieser Satz wurde in mühsamer Kleinstarbeit aus einzelnen Wörtern zusammengesetzt.
            (Hopsel)
          Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
        4. Ein einzelner Klick löst bei mouseover- und click-Event zuerst den mouseover aus, der zweite Klick ist dann das click-Event.

          Aber so wär's doch noch eleganter! ;-)

  2. Ich schmeiße Google an und nach etwas längerer Recherche bekomme ich raus, dass das iPhone keine seiteninterne Scrollbalken (die's auf besagter Seite gibt) unterstützt! Jedenfalls nicht bei <div>-tags mit dem style-attribut overflow:auto; wie's bei iframes aussieht, weiß ich nicht.

    also.... GEHT'S NOCH??? Was soll das denn? das ist W3C-Standard!

    Bedeutet ja nicht, dass Browser X das unterstützt. Das ist dir doch sicher bekannt, dass das, was beim W3C steht und das, was Browser so veranstalten, nicht immer eins sind.

    Davon abgesehen: Du weißt, wie groß ein Mobiltelefonbildschirm ist? Ich meine jetzt nicht die allseits beliebte Auflösung (die weitestgehend unerheblich ist, weil ein iPhone-Pixel nur bummelig ein Viertel der Fläche eines PC-Bildschirm-Pixels belegt), sondern die reale Größe in Zentimetern? Dem Besucher auf dieser Fläche irgendwelche eigenen Schiebebalken aufzudrängen ist grundsätzlich nicht schlau. So gesehen hakt es bei dir, an deinem Seitenaufbau, nicht am Telefonbrowser.

    [Javascript-Browserweiche]
    Aber: Darf man das??? Ist das moralisch vertretbar?

    Schön ist das nicht. Benutze CSS Media Queries. Beispielsweise mit <link rel="stylesheet" href="mobiltelefon.css" media="handheld,(max-width:480px)"> kannst du dem Eiertelefon entsprechend angepasste Darstellung verpassen. Hast du deine Seiten tatsächlich im Sinne des HTML-Standards gebaut, sollte das kein Problem sein.

    (Das iPhone reagiert auf die max-width-Angabe, handheld erfasst andere (AFAIK seltene) Geräte. Opera und Firefox unterstützen max-width ebenfalls, so dass du deine Geschichten bequem am PC ausprobieren kannst - einfach Fenster auf weniger als 480 Pixel zusammenschieben und die Browser schalten automatisch um.)

    1. Bedeutet ja nicht, dass Browser X das unterstützt. Das ist dir doch sicher bekannt, dass das, was beim W3C steht und das, was Browser so veranstalten, nicht immer eins sind.

      Ja, hast wohl recht. Dachte aber eigentlich, dass sich das in den letzten Jahren im Vergleich zu früher sehr angenähert hat (jedenfalls bei HTML/CSS, wohl noch nicht ganz so bei Javascript).

      Davon abgesehen: Du weißt, wie groß ein Mobiltelefonbildschirm ist? Ich meine jetzt nicht die allseits beliebte Auflösung (die weitestgehend unerheblich ist, weil ein iPhone-Pixel nur bummelig ein Viertel der Fläche eines PC-Bildschirm-Pixels belegt), sondern die reale Größe in Zentimetern? Dem Besucher auf dieser Fläche irgendwelche eigenen Schiebebalken aufzudrängen ist grundsätzlich nicht schlau. So gesehen hakt es bei dir, an deinem Seitenaufbau, nicht am Telefonbrowser.

      Nein, bei mir hakt es nicht, ich schreibe meine Seite doch nicht FÜR Telefonbrowser! Es ist das Problem der Mobiltelefonbrowserhersteller, die behaupten, trotz kleiner Bildschirmgröße könne man fast ohne Komfortsverlust jede Webseite anschauen. Und eigentlich denke ich, dass Apple diese Herausforderung sehr elegant gelöst hat mit dem Zwei-Finger-Zoom und dem seiteninternen In-alle-Richtungen-Scrollen.

      Schön ist das nicht. Benutze CSS Media Queries. [...]

      Oh, vielen Dank! Das werde ich mir genauer anschauen!

      Grüße,
      chris340