The Legend

HTML 6, CSS 4, and JS 2

A list of proposals for the W3C aimed at making the internet a slightly less awful place.

Spanish version

MY PROPOSAL FOR HTML 6

  1. Make <marquee> and <center> standard elements. Seriously, just... do it.
  2. Introduce the <ad> tag to explicitly mark ad sections, making life easier for ad blockers.
  3. Introduce the <spoiler> tag to mark spoiler-containing sections.
  4. Introduce the <iemode> tag; anything inside this tag won't break when viewed in Internet Explorer.
  5. Introduce the <vim> tag, which acts like a textarea but with Vim keybindings.

    Note: To lose focus of the input, the user will have to type the same command they would use to exit Vim. I'm not explaining it because you already know.

  6. Add the boolean attribute "fakenews" to combat online misinformation.

    Example usage:
    <span fakenews="true">Hello, I am misinformation.</span>

    Note: The attribute will be added by the article's author from the depths of their heart.

  7. To avoid password steals and improve security, the "password" input will replace every character with *, even when form is submitted to the server.
  8. Add <if>, <elif>, and <else> tags to finally turn HTML into a programming language.

    Example usage:
    <if id="my-own-if" condition="expression();">
    <span>IT'S TRUE</span>
    <elif condition="expression2();">
    <span>IT'S ELSEIF, NOT ELIF, YOU DAMNED PYTHON PROGRAMMERS</span>
    <elif>
    <else>
    <span>IT'S FALSE</span>
    <else>
    </if>
    // Then in JavaScript
    document.querySelector("#my-own-if").evaluate();

  9. Add the <nohtml> tag to specify alternative content if the browser doesn't support HTML.

    Example usage:
    <nohtml>
    <h1>Your browser doesn't support HTML</h1>
    </nohtml>

  10. Add the <DONOTREAD> tag, to indicate web scrappers to not read that part of the website.

    Example usage:
    <DONOTREAD>
    <!-- The scrapper will politely and respectfully ignore this part -->
    My secret diary
    </DONOTREAD>

  11. Make HTML case-sensitive... just for laughs.

MY PROPOSAL FOR CSS 4

  1. Add !superimportant to override !important rules.
  2. Add // as a valid way to comment because /* */ is too much work.
  3. We must add these colors:
    Phlox
    DooDooBrown
    Blah
    MidlifeCrisisMauve
    CringeCoral
    Drobifabipoppy
    ExtraCheeseBurger
    WalterWhite
    Snugglepuss
    Spongebob
    EvilGreen
  4. Add if() in CSS... oh wait, they already added it... crap.
  5. Add "Muggeseggeles" as a valid CSS unit. 1 Muggeseggele is 0.22mm.
  6. Add the W-axis, allowing transformations in the 4th dimension.

    Example usage
    .tesseract {
    transform: rotateX(30deg) rotateY(10deg) rotateZ(20deg) rotateW(50deg);
    }

  7. Add a new "space" rule, allowing you to apply the space you feel most comfortable with to the DOM element. Possible values are: "euclidean" (default), "hyperbolic", and "manifold".

    Example usage
    body {
    space: manifold;
    padding: 213.5 muggeseggeles;
    }

  8. Add a selector for HTML comments:

    Example usage
    !-- {
    display: block;
    }

  9. Add encapsulation within CSS to create private variables accessible only within the selector.

    Example usage
    :root {
    private --bg-color: drobifabipoppy; // This variable is private
    }

    body {
    background-color: var(--bg-color); // This won't work because the variable is private
    }

  10. Let's introduce exceptions in CSS, thrown when a bad design decision is detected:

    Examples:
    body {
    background-color: black;
    color: darkblue; // This throws an exception, dark text on dark background
    }
    Like any good exception system, we've added try..catch in CSS
    body {
    try {
    font-size: 'Comic Sans';
    } catch {
    font-size: 'Arial';
    }
    }

  11. In CSS 4, this will be valid:

    margin-bottom: 32px; }
    div
    {

MY PROPOSAL FOR JAVASCRIPT 2

While JavaScript is already perfect as it is, we could add a few more things to make it the best language of all time.
  1. Make semicolons at the end of expressions mandatory.
  2. Add the quadruple equals "====", which, besides checking if the value and type are the same, also checks if the reference is the same.

    Example usage:
    const variable1 = 32;
    const variable2 = variable1;
    variable1 ==== variable2; // false
    variable1 ==== variable1; // true

  3. Add "chill mode," similar to strict mode, but exceptions are completely ignored by the browser.
  4. Add quantum variables, which exist in multiple states simultaneously.

    Example usage:
    let schrodingerVariable = new QuantumVariable(5); schrodingerVariable.observe(); // May return 5, or crash the entire browser.

  5. Solve JavaScript's confusing syntax. This way, the code is more ordered and readable, and we avoid unexpected behavior.

    Example code:
    const elementFactory = Browser.getInstance().getDocument().instantiateElementFactory();
    const elementCreationRequest = new ElementCreationRequest().withType(Browser.HTMLTags.Div);
    const createElementInstance = elementFactory.prepareCreateElement(elementCreationRequest);
    const divElement = createElementInstance.create();

    Note: This does the same as document.createElement("div").

  6. JavaScript doesn't have an official mascot, like Tux (Linux), the Firefox fox (Firefox), or the Open Source community (Microsoft). So let's finally introduce an official mascot for JS.

    His name is Jabberwockius Snozzlewanger, the logic destroyer.

    JS
  7. To prevent cheating in Cookie Clicker, let's implement a new Anti-Cheat API. With this API, any website will have direct access to the operating system's resources: memory, system processes, hardware, kernel, etc., in search of any "malicious" process.

    Note: To make this possible, in the future, you will need a TPM chip to access the internet.

  8. JavaScript 2 will learn to add:

    Before:
    >> 0.1 + 0.2; // 0.30000000000000004
    After:
    >> 0.1 + 0.2; // 0.30000000000000000

  9. Add the `onlineStorage` property, unlike `localStorage`, it will be globally accessible by any website. Unlike cookies, it won't be regulated by an external organization.

    Example usage:
    onlineStorage.setItem("UserAgent", navigator.userAgent);

    Now another page can execute this command.
    const UA = onlineStorage.getItem("UserAgent");
    Browser.getInstance().getWindow().getConsole().log(UA);

    This way we eliminate the problems of invasive cookie messages that bother the user and eliminate legal problems for companies when asking for permission to collect user information; everyone wins.

  10. Remove the garbage collector completely to optimize ad loading; now the programmer will handle memory management on their own.

    Example usage:
    let* ptr = Browser.getMemoryManager().malloc(1024);
    // ...
    Browser.getMemoryManager().free(ptr); // Remember to free the memory afterwards

  11. Let's introduce a standard JavaScript library to end the mess of multiple JavaScript APIs and support problems between different browsers.

    This standard library will help us maintain clean and organized development of a freer and better internet.

    It will be called something like the Compact Hierarchical Runtime Optimized Module Ecosystem (CHROME) library.


"HTML 6, CSS 4 and JS 2"
by Adrian Bogdan < adrbog @ proton . me >