Jag genomförde något speciellt: inaktiverade JavaScript helt i webbläsaren och utforskade Ra Casino https://racasino.se/. De allra flesta spelare funderar aldrig på vad som utspelar sig bakom kulisserna när skript laddas. För mig som webbutvecklare är elegant degradering bland de viktigaste kvalitetsmåtten. Jag hade för avsikt se om sajten ens gick att använda, om väsentliga funktioner bevarades och hur teamet resonerat kring tillgänglighet. Testet är ingen kritik på modern webbteknik, jag ville förstå hur pålitlig plattformen är när omständigheterna plötsligt förändras. Resultatet överraskade mig på flera punkter.

På detta sätt satte upp testmiljön

Jag nyttjade en standard stationär dator med Firefox Developer Edition, där jag smidigt byter JavaScript via inställningspanelen. Jag röjde cache och cookies, deaktiverade alla tillägg och satte webbläsaren i ett nytt läge. Därefter stängde av jag JavaScript helt via about:config och uppdaterade sidan. Jag utnyttjade ingen VPN eller särskild nätverkskonfiguration, utan körde på min normala bredbandsuppkoppling. Syftet var att efterlikna en autentisk användare som av någon anledning inte har reddit.com skriptstöd, inte en tillgjord labbmiljö. Jag noterade allt från laddningstider till trasiga element.

För att vara särskilt noggrann prövade jag även med Chromes utvecklarverktyg där man kan blockera JavaScript per domän. Resultaten var enhetliga över webbläsare, vilket pekar på att det inte handlade om webbläsarspecifika egenheter. Jag dokumenterade varje steg med skärmdumpar och registrerade nätverksanrop för att se vilka resurser som alltjämt hämtades. Det framstod snabbt tydligt att Ra Casino nyttjar en kombination mellan serverrenderat innehåll och klientdrivna komponenter, vilket bådar gott för ett degraderingstest.

Första intrycket av startsidan utan JavaScript

När startsidan lastades utan JavaScript fick jag se av en överraskande hel layout. Logotypen, huvudmenyn och stora delar av det visuella innehållet var närvarande. Bakgrundsbilder och CSS-baserade animationer funkade eftersom de inte behöver skript. Däremot försvann dynamiska element som en rörlig kampanjkarusell och en livechatt-widget. I stället för karusellen visades en statisk bild med en uppmuntran att aktivera JavaScript för att ta del av erbjudandet, ett tydligt exempel på medveten design. Ingenting gick sönder eller uppvisade tomma ytor.

Sökfunktionen och språkväljaren fungerade fortfarande, det var det som framhävde sig. Språkväljaren föll tillbaka på en vanlig formulärlista som överförde ett serveranrop, precis så graciös degradering ska fungera. Jag kunde växla språk utan problem och sidan lastades om korrekt. Startsidan verkade inte trasig, bara något 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.

Inloggning och inloggningsprocess utan JavaScript

Registreringsformuläret var de mest kritiska punkterna i testet. Jag antog att det skulle behöva JavaScript för kontroll och sändning, men blev positivt förvånad. Formuläret byggde på traditionella HTML-element med serversidig validering som reserv. Jag kunde fylla i alla fält, e-post, lösenord, personuppgifter, och skicka formuläret. Servern svarade med en ny sida som endera godkände registreringen eller uppvisade klara felmeddelanden vid inkorrekt data. Inga steg gick förlorade och inget hängde sig i ett oklart läge.

Inloggningen agerade på samma sätt. Användarnamn och lösenord skickades via ett vanligt formulär och jag blev inloggad på en serverrenderad kontosida. Tvåfaktorsautentisering, om den var igångsatt, krävde dock JavaScript för att visa vissa rörliga element, men basinloggningen var fullt operationell. Det här är exakt den grad av robusthet man vill se, att kontosystemet inte är hårt bundet till frontend-logik. För en kund som skyndsamt behöver logga in från en begränsad miljö är detta guld värt.

Spelportföljen – vad som lyckades och vad som misslyckades

På denna punkt uppnådde vi testets mest förväntade resultat: själva spelen var inte fungerande utan JavaScript. Enarmade banditer, bordsspel och live casino är byggda med tekniker som WebGL, Canvas och omfattande skriptsamlingar. Då jag klickade på ett spel visades en ny sida vilken antingen visade en statisk laddningsskärm eller också en vänlig textruta som informerade om att JavaScript krävs för att inleda spelet. Inga spel gick att ladda i vanlig mening, men det saknades inte heller några mystiska felmeddelanden eller oändliga laddningsloopar. Det var ett rent och ärligt fall.

Å andra sidan fungerade spellistorna och kategorierna perfekt. Det var möjligt för mig navigera bland spelautomaternas tumnaglar, läsa spelens titlar och stundtals se statiska informationssidor om spelen. Filtreringsvalen var dock begränsade eftersom de använde JavaScript för att dynamiskt uppdatera innehållet. Det gick inte att sortera efter populäritet eller utgivare utan en sidomladdning, men enkel navigering mellan spellistans sidor skedde via paginering. Detta gav mig en känsla av att kunna utforska utbudet även om jag inte kunde spela omedelbart.

Navigering och menyer i ett javascriptfritt läge

Huvudmenyn baserades på rena HTML-länkar tillsammans med CSS för dropdown-funktionalitet. Utan JavaScript fungerade dropdown-menyn inte vid hover, men alla topplänkar var klickbara och hänvisade 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 existerade 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 kunde nås utan hinder. Sökfunktionen, som jag nämnde tidigare, sände formulärdata via GET-anrop och returnerade 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 tyder på att informationsarkitekturen är genomtänkt från grunden.

Depositioner och kontohantering i det scriptfria läget

Jag gick vidare till kassan för att undersöka om jag kunde genomföra en insättning. Betalningsflödet framstod som delvis fungerande. Jag hade möjlighet att välja betalningsmetod från en lista och ange belopp, men när jag skulle bekräfta transaktionen blev jag omdirigerad till en extern betalleverantörs sida. Där krävdes JavaScript för att avsluta betalningen, vilket är vanligt hos de flesta betaltjänster. Just övergången från Ra Casino till betalleverantören skedde 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 på JavaScript för filhantering, vilket är logiskt. Det existerade dock en tydlig instruktion om att höra av sig till support för manuell hantering om tekniska hinder uppstod. Än en gång demonstrerade man en medvetenhet om att inte alla användare har en perfekt teknisk miljö. Kontohanteringen upplevdes trygg och överskådlig.

Vad jag fick ut från detta försök

Det här testet påminde mig om att webben i grunden är uppbyggd på HTML och HTTP. När JavaScript inte fungerar blottas webbplatsens sanna arkitektur. Ra Casino bevisade att man inte är tveksam för att erbjuda en fungerande kärnupplevelse även under svåra förhållanden. Jag lyckades registrera mig, logga in, hantera mitt konto och bläddra i spelutbudet utan att ett enda skript exekverades. Det är en prestation som många avsevärt enklare webbplatser inte lyckas med. Att spelen behöver JavaScript är fullt okej, de är komplexa applikationer i sig.

För dig som kund innebär detta att du kan vara säker med att ditt konto och dina pengar är åtkomliga även om du händer att du använder en strikt webbläsare, ett instabilt nätverk eller en äldre enhet. Du kan hända inte kan spinna hjulen utan JavaScript, men du kan alltid kontakta support, göra uttag och hålla koll på ditt spelande. Det är just den typen av stabilitet jag vill se hos en seriös aktör. Ra Casino har med detta test visat att man satsar på stabilitet och åtkomlighet vid sidan av den estetiska upplevelsen.

Hastighet, åtkomlighet och vad programmerarna gjort rätt

Utan JavaScript blev sidans laddningstid markant kortare. Nätverksloggen indikerade att mängden förfrågningar minskade med över sextio procent och den hela sidvikten minskade till en bråkdel. För användare med långsamma anslutningar eller inskränkt datamängd är detta en stor fördel. Det uppmärksammades att Ra Casino använder sig av semantisk HTML och att CSS sköter det mesta av layouten. ARIA-attribut och korrekta rubriknivåer förekom, vilket hjälper skärmläsare även när interaktivt innehåll försvinner. Tillgängligheten ökade snarare än sjönk i det kodfria läget.

Utvecklarna har uppenbarligen funderat över progressiv förbättring. Man har inte byggt en fristående, avskalad version, utan tillåtit samma kodbas arbeta på olika nivåer. Felhanteringen är tydlig och personen blir aldrig med en tom skärm. Att ett casino av den här kalibern genomgår ett så pass strikt test så här pass bra är sällsynt. Jag hade räknat med en helt sönder upplevelse, men till skillnad fick jag en verksam informationsportal med hela kontofunktioner. Det tyder på en utvecklad utvecklingsprocess där man inte tagit genvägar.

Mobilversionen utan JavaScript

Jag skiftade till en mobil vy via webbläsarens flexibla läge och gjorde om testet. Mobilversionen av Ra Casino utnyttjar av samma serverrenderade grund, vilket innebar att resultaten var liknande. Menyn minskades till en hamburgerikon som dock inte öppnades utan JavaScript. Sättet var att en alternativ textlänk till en fullständig meny-sida visades i sidfoten, så jag kunde navigera. Det är en smart fallback som inte behöver mycket extra kod men som räddar användarupplevelsen för många.

Touch-baserade interaktioner som swipe-karuseller fungerade inte, men allt klickbart innehåll var nåbart via vanliga tryck. Sidladdningstiderna var avsevärt snabbare utan JavaScript, vilket skapade en rapp känsla på mobildata. Spelen var möjliga förstås inte att starta, men informationssidorna och kontohanteringen var fullt användbara. Jag hade förmåga sätta in pengar via mobilen, under förutsättning att jag godkände omdirigeringen till betalleverantören. Mobilupplevelsen visade att plattformen är utformad med en “mobile first”-tanke där basala HTML inte offras för effekter.

Skälet till att jag beslutade att inaktivera JavaScript

Smidig nedgradering innebär att en webbplats levererar sina centrala funktioner trots att vissa skikt slutar fungera. JavaScript kan blockeras av säkerhetsskäl, långsamma nätverk, äldre enheter eller hårda företagsmiljöer. Om ett casino upphör att fungera helt utan skript stänger man ute en grupp användare som inte kan förändra sin teknologiska miljö. Jag önskade se om Ra Casino tog detta på allvar, eller om man satsade allt på en rik klientupplevelse utan fallskärm. Min gissning var att moderna casinon sällsynt klarar ett sådant test, men jag ingick med öppna sinnen och ett analytiskt öga.

Det existerar också en säkerhetssynvinkel. Genom att under en tid inaktivera JavaScript kan man ibland se hur mycket spårningskoder och kod från tredje part som faktiskt körs. En renare, skriptlös vy avslöjar webbplatsens stomme. Jag räknade med att spelen skulle försvinna bort helt, men jag var intresserad på om sidor med information, support och hantering av konton fortfarande gick att navigera. Den sortens av testning är ingen kritiserande mot utvecklarna, tvärtom är det ett sätt att uppskatta välplanerad arkitektur när man stöter på den.