Javascript is required because the closest non-JS alternative is doing everything server-side, and I do not want to bother with that