Jag gjorde något speciellt: stängde av JavaScript helt i webbläsaren och provade plinko Ra Casino. De allra flesta spelare tänker aldrig på vad som utspelar sig bakom kulisserna när skript körs. För mig som webbutvecklare är elegant degradering en av de mest betydelsefulla kvalitetsmåtten. Jag önskade se om sajten överhuvudtaget gick att använda, om basala funktioner fanns kvar och hur teamet tänkt kring tillgänglighet. Testet är inget gnäll på modern webbteknik, jag ville förstå hur pålitlig plattformen är när omständigheterna plötsligt ändras. Resultatet imponerade på mig på ett antal punkter.
Vad jag tar med mig från detta experiment
Det här testet fick mig att inse att webben i grunden är baserad på HTML och HTTP. När JavaScript faller bort visas webbplatsens sanna arkitektur. Ra Casino bevisade att man inte är tveksam för att erbjuda en välfungerande kärnupplevelse även under besvärliga förhållanden. Jag hade möjlighet att registrera mig, logga in, hantera mitt konto och bläddra i spelutbudet utan att ett enda skript aktiverades. Det är en insats som många mycket enklare webbplatser inte klarar av. Att spelen kräver JavaScript är fullt okej, de är komplexa applikationer i sig.
För dig som spelare innebär detta att du kan vara säker med att ditt konto och dina pengar är nåbara även om du händer att du använder en snäv webbläsare, ett opålitligt nätverk eller en gamal enhet. Du möjligen inte kan snurra hjulen utan JavaScript, men du kan alltid komma i kontakt med support, genomföra uttag och hålla koll på ditt spelande. Det är precis den sorten av stabilitet jag vill se hos en trovärdig aktör. Ra Casino har med detta test visat att man satsar på stabilitet och tillgänglighet vid sidan av den visuella upplevelsen.
Spelsortimentet – vad som fungerade och det som försvann
På denna punkt uppnådde vi testets mest förväntade resultat: själva casinospelen misslyckades utan JavaScript. Spelautomater, bordsspelen och livecasino är byggda med tekniker som WebGL, Canvas och omfattande skriptbibliotek. Då jag klickade på ett spel öppnades en ny sida som visade en statisk laddningsskärm alternativt en trevlig textruta som informerade om att JavaScript krävs för att inleda spelet. Inget spel gick att ladda i vanlig mening, men fanns det inte några kryptiska felmeddelanden eller ändlösa laddningscykler. Det handlade om ett tydligt och ärligt fall.
Å andra sidan var spellistorna fungerande och kategorierna mycket väl. Det var möjligt för mig söka igenom spelautomaternas miniatyrbilder, se spelens titlar och stundtals betrakta statiska informationssidor om spelen. Filtreringsalternativen var dock begränsade eftersom de använde JavaScript för att uppdatera innehållet dynamiskt. Det gick inte att sortera efter popularitet eller utgivare utan en sidomladdning, men basnavigering mellan spellistans sidor var möjlig genom sidnumreringslänkar. Det förmedlade en känsla av att kunna undersöka utbudet fastän jag inte kunde spela direkt.
Varför jag beslutade att avaktivera JavaScript
Elegant försämring betyder en webbplats levererar sina centrala funktioner även om vissa nivåer slutar fungera. JavaScript kan stoppas av säkerhetsorsaker, långsamma nätverk, åldriga enheter eller strikta företagsmiljöer. Om ett casino upphör att fungera helt utan skript stänger man ute en grupp användare som inte kan ändra sin tekniska miljö. Jag ville se om Ra Casino behandlade detta seriöst, eller om man satsar allt på en omfattande klientupplevelse utan backup. Min aning var att moderna casinon inte ofta klarar av ett sådant test, men jag gick in med en öppen inställning och ett kritiskt öga.
Det existerar också en säkerhetsperspektiv. Genom att under en tid inaktivera JavaScript kan man stundtals se hur mycket trackingskript och tredjepartskod som egentligen körs. En tydligare, skriptlös vy blottlägger webbplatsens stomme. Jag antog att spelen skulle försvinna helt, men jag var nyfiken på om sidor med information, support och kontohantering alltjämt gick att navigera. Den denna typ av testning är ingen anmärkning mot utvecklarna, tvärtom är det ett sätt att uppskatta välplanerad arkitektur när man möter den.
Prestanda, åtkomlighet och vad utvecklarna gjort korrekt
Utan JavaScript blev sidans laddningstid markant kortare. Nätverksloggen indikerade att mängden förfrågningar reducerades med över sextio procent och den sammanlagda sidvikten sjönk till en bråkdel. För personer med saktfärdiga anslutningar eller begränsad datamängd är detta en betydande fördel. Det uppmärksammades att Ra Casino nyttjar semantisk HTML och att CSS hanterar det mesta av layouten. ARIA-attribut och korrekta rubriknivåer förekom, vilket hjälper skärmläsare även när rörligt innehåll faller bort. Tillgängligheten steg snarare än sjönk i det javascriptfria läget.
Utvecklarna har självklart tänkt på progressiv förbättring. Man har inte konstruerat en fristående, avskalad version, utan tillåtit samma kodbas verka på olika nivåer. Felhanteringen är tydlig och besökaren lämnas aldrig med en tom skärm. Att ett casino av den här storleken klarar ett så pass hårt test så här pass fint är unikt. Jag hade trott på en helt felfylld upplevelse, men till skillnad fick jag en fungerande informationsportal med bevarade kontofunktioner. Det visar på en mogen utvecklingsprocess där man inte valt genvägar.
Inloggning och inloggningsprocess utan JavaScript
Registreringsformuläret var de mest viktiga punkterna i testet. Jag antog att det skulle behöva JavaScript för kontroll och överföring, men kände mig positivt förvånad. Formuläret grundades på traditionella HTML-element med backend-baserad validering som reserv. Jag kunde fylla i samtliga fält, e-post, lösenord, personuppgifter, och överföra formuläret. Servern svarade med en ny sida som endera verifierade registreringen eller visade tydliga felmeddelanden vid felaktig data. Inga steg gick förlorade och inget stannade i ett obestämt läge.
Inloggningen fungerade på samma sätt. Användarnamn och lösenord sändes via ett standardformulär och jag blev inloggad på en serverrenderad kontosida. Tvåfaktorsautentisering, om den var igångsatt, var beroende av dock JavaScript för att visa vissa dynamiska element, men huvudinloggningen var fullt användbar. Det här är just den nivå av robusthet man vill se, att kontosystemet inte är starkt kopplat till frontend-logik. För en kund som skyndsamt behöver logga in från en begränsad miljö är detta guld värt.
Så här satte upp testmiljön
Jag nyttjade en vanlig stationär dator med Firefox Developer Edition, där jag enkelt växlar JavaScript via inställningspanelen. Jag tömde cache och cookies, stängde av alla tillägg och satte webbläsaren i ett rent läge. Därefter stängde av jag JavaScript helt via about:config och laddade om sidan. Jag använde ingen VPN eller särskild nätverkskonfiguration, utan arbetade på min ordinarie bredbandsuppkoppling. Syftet var att härma en autentisk användare som av någon anledning inte har skriptstöd, inte en konstlad labbmiljö. Jag antecknade allt från laddningstider till sönderfallna element.
För att vara särskilt noggrann testade jag även med Chromes utvecklarverktyg där man kan hindra JavaScript per domän. Resultaten var samstämmiga över webbläsare, vilket indikerar på att det inte handlade om webbläsarspecifika egenheter. Jag registrerade varje steg med skärmdumpar och loggade nätverksanrop för att se vilka resurser som fortfarande inhämtades. Det blev snabbt uppenbart att Ra Casino utnyttjar en hybrid mellan serverrenderat innehåll och klientdrivna komponenter, vilket lovar gott för ett degraderingstest.
Navigation och menyer i ett scriptlöst läge
Huvudmenyn använde sig av rena HTML-länkar tillsammans med CSS för dropdown-funktionalitet. Utan JavaScript verkade dropdown-menyn inte vid hover, men alla topplänkar var klickbara och ledde till dedikerade kategorisidor. Det medförde att jag kunde navigera till spelkategorier, kampanjer och support direkt från menyn utan att förlita mig på skript. Undermenyer expanderade inte, men det fanns alltid en väg framåt via den initiala länken. Det är en kompromiss som lämpar sig utmärkt för grundläggande navigering.
Sidfoten var fullt fungerande med samtliga länkar intakta. Länkar till ansvarsfullt spelande, villkor och integritetspolicy var tillgängliga utan hinder. Sökfunktionen, som jag nämnde tidigare, sände formulärdata via GET-anrop och visade en ny sida med resultat. Det enda som saknades var en “tillbaka till toppen”-knapp som normalt startas via JavaScript, men det är knappast en kritisk funktion. Överlag verkade navigeringen logisk och stabil, vilket indikerar att informationsarkitekturen är genomtänkt från grunden.
Insättningar och hantering av kontot i det scriptfria läget
Jag gick vidare till kassan för att undersöka om jag kunde utföra en insättning. Betalningsflödet framstod som delvis aktivt. Jag kunde selektera betalningsmetod från en lista och mata in belopp, men när jag ville bekräfta transaktionen blev jag omdirigerad till en extern betalleverantörs sida. Där behövdes JavaScript för att avsluta betalningen, vilket är standard hos de flesta betaltjänster. Selve övergången från Ra Casino till betalleverantören inträffade problemfritt via en serveromdirigering, så jag hamnade aldrig i ett dött läge.
Kontosidan presenterade transaktionshistorik, saldo och personliga inställningar i en förenklad men fullt läsbar vy. Jag hade möjlighet att uppdatera vissa profilfält och downloada dokument för verifiering utan problem. Dock var uppladdning av verifieringsdokument beroende av JavaScript för filhantering, vilket är begripligt. Det fanns dock en tydlig instruktion om att kontakta support för manuell hantering om tekniska hinder inträffade. På nytt uppvisade man en medvetenhet om att inte alla användare har en perfekt teknisk miljö. Kontohanteringen kändes trygg och överskådlig.
Första intrycket av startsidan utan skript
När startsidan öppnades utan JavaScript fick jag se av en förvånansvärt hel layout. Logotypen, huvudmenyn och betydande delar av det visuella innehållet fanns på plats. Bakgrundsbilder och CSS-baserade animationer fungerade eftersom de inte kräver skript. Däremot försvann dynamiska element som en snurrande kampanjkarusell och en livechatt-widget. I stället för karusellen presenterades en statisk bild med en uppmaning att aktivera JavaScript för att få tillgång till erbjudandet, ett tydligt exempel på medveten design. Ingenting havererade eller hade tomma ytor.
Sökfunktionen och språkväljaren var fortfarande användbara, det var det som stack ut. Språkväljaren återgick på en vanlig formulärlista som överförde ett serveranrop, precis så graciös degradering måste fungera. Jag kunde växla språk utan problem och sidan uppdaterades korrekt. Startsidan verkade inte trasig, bara lite enklare. Det gav mig optimism om att resten av plattformen skulle hålla samma klass, även om jag antog att spelen skulle bli den stora utmaningen.
Mobilgränssnittet utan JavaScript
Jag växlade till en mobil vy via webbläsarens responsiva läge och gjorde om testet. Mobilversionen av Ra Casino nyttjar av samma serverrenderade grund, vilket resulterade i att resultaten var liknande. Menyn kollapsade till en hamburgerikon som dock inte expanderade utan JavaScript. Metoden var att en alternativ textlänk till en fullständig meny-sida framträdde i sidfoten, så jag kunde navigera. Det är en smart fallback som inte kräver mycket extra kod men som bevarar användarupplevelsen för många.
Touch-baserade interaktioner som swipe-karuseller arbetade inte, men allt klickbart innehåll var nåbart via vanliga tryck. Sidladdningstiderna var märkbart snabbare utan JavaScript, vilket erbjöd en rapp känsla på mobildata. Spelen kunde förstås inte att starta, men informationssidorna och kontohanteringen var fullständigt användbara. Jag kunde sätta in pengar via mobilen, under förutsättning att jag godkände omdirigeringen till betalleverantören. Mobilupplevelsen styrkte att plattformen är byggd med en “mobile first”-tanke där elementära HTML inte förloras för effekter.
