Does including a Konami-code triggered Easter Egg negatively impact keyboard accessibility?

On an open-source project I’m involved in, one of our devs added a mini-game for April Fools Day, which could be opened and played by pressing the Konami Code sequence on your keyboard (up, up, down, down, left, right, left, right, B, A, enter).

In a GitHub issue, we received a complaint about the game, which included this line:

… but I hope the Codidact team would have the decency to acknowledge that such “easter eggs” can be disastrous to users with mobility impairments who use the keyboard to control the mouse, and promise to not allow such “easter eggs” in the future.

A couple years ago I spent some time using the keyboard and not my mouse, and personally never had a problem with accidentally triggering something with the Konami Code, because it’s not a sequence that – in my experience – is likely to be typed accidentally. It’s hard to get such a specific sequence if you’re not trying.

However, since I’m not an expert on this topic, I figured it’d be worth it to confirm one way or the other: Is having a Konami Code Easter Egg an accessibility problem, from a keyboard-user standpoint?

Easter Egg Hunt | Forum Promotion

Easter Special: Intel Dual Xeon E5-2620v2 24 Threads-32GB RAM-500GB SSD For $75/mo | Proxies-free

Host Mayo offers Dedicated Servers in Los Angeles with advance features like DDOS protection, Gigabit Uplink and 24/7 Support. We have been in business since 2015. We offer exceptional customer support and guarantee 99% uptime. Today we bring exclusive Easter Bunny special price for dedicated server with 62.33% recurring discount using coupon “bunny”.

Intel Dual Xeon E5-2620v2
12 Cores / 24 Threads
32GB RAM
500GB SSD
33TB Bandwidth Per Month
5 IPv4 /64 IPv6 Block
Free DDos Protection
$75/mo
Order Now

Network

  1. 99.99% Guaranteed Uptime
  2. 20GBps DDoS Protection
  3. 1Tbps of Internet Connectivity
  4. 1Gbps Upgradable to 10Gbps
  5. Asia Optimized Bandwidth

Data Center

  1. Tier IV Data Center
  2. SOC 2 Type II
  3. PCI DSS
  4. HIPAA
  5. SSAE16 Certified

Power

  1. On-site backup generators
  2. On-site fuel storage
  3. 24x7x365 fuel delivery
  4. Green Certifications
  5. ENERGY STAR
  6. LEED

Payment Methods
We accept PayPal, Credit Card, BitCoins, LTC, BCH & ETH, PerfectMoney other cryptocurrencies.

Reviews
Hosting Reviews: https://hostmayo.com/reviews-awards

Connect With Us
If you have any questions, please feel free to contact us at admin@hostmayo.com or you can Skype us @ hostmayo

Follow Us Tweeter @hostmayo || Facebook HostMayoServers

 

[bodHOST.com] – Easter Special Offer – 21% OFF All Web Hosting Plans – 24×7 support | Proxies-free

Easter is around the corner! Referred to as the holy Sunday, Easter is celebrated all across the globe. As the preparations begin and celebrations continue till late April, it becomes the best time of the year to crack some amazing deals.

bodHOST, too, has several special offers running during April to help you save money while celebrating Easter.

WordPress Web Hosting

  • 1 GB SSD Storage
  • Unlimited Bandwidth
  • cPanel Control Panel
  • WordPress Toolkit
  • Host up to 1 WP Website
  • Unlimited Email Accounts
  • 24×7 Support
  • 99.9% Uptime SLA

Monthly Price- $0.99/mo | Order Now

Explore More Plans

cPanel Web Hosting

  • 5 GB SSD Storage
  • 25 GB Bandwidth
  • cPanel Control Panel
  • Softaculous
  • Host up to 5 Domains
  • Unlimited Email Accounts
  • 24×7 Support
  • 99.9% Uptime SLA

Monthly Price- $0.99/mo | Order Now

Explore More Plans

Windows Web Hosting

  • 5 GB SSD Storage
  • 25 GB Bandwidth
  • Plesk Control Panel
  • Host up to 2 Domains
  • Unlimited Email Accounts
  • 24×7 Support
  • 99.9% Uptime SLA

Monthly Price- $0.99/mo | Order Now

Explore More Plans

cPanel Reseller Hosting

  • 20 GB SSD Storage
  • 500 GB Bandwidth
  • cPanel/WHM
  • Softaculous
  • Host up to 10 Domains
  • Unlimited Email Accounts
  • 24×7 Support
  • 99.9% Uptime SLA

Monthly Price- $9.99/mo | Order Now

Explore More Plans

This is a limited time period offer and ends 30th April. So hurry up!! before the offer ends.

For a full list of Web Hosting Visit: https://www.bodhost.com

In case you have any questions, you can contact our sales department by initiating a chat or by dropping an email to sales@bodhost.com or call us on 8443245054.

Connect with bodHOST

Facebook
Twitter
LinkedIn
Instagram

Take part in our Grand Easter Hunt and claim your 25% discount! | Proxies-free

In the spirit of this blooming Easter season, we join in wishing our dearest customers, business partners and all software enthusiasts a peaceful, joyous and sunny holiday celebrated in the wonderful company of loving family. May you find in yourself true contentment and new sources of creative energy to pursue all goals and aspirations!


Join our egg-citing Easter Discount Hunt and spot your own 25% discount!

And to make this year’s Easter celebrations filled with even sweeter and breezy vibrations, why don’t you join our egg-citing Easter Discount Hunt? Just keep your eyes peeled for Easter eggs and stand a chance to win a remarkable 25% off code valid for ALL modules at our Marketplace!

Take a crack at the most thrilling deal of the season!

Need Custom Software Development For Your Business?

Specially for you we will adapt an application and its design to your own needs, create a new module or even a completely new system built from scratch!

Easter Celebrations? | Forum Promotion

beginner – Easter date calculator Android application

Since Easter holidays are close, I have decided to develop my Android skills by writing an Android app that calculate that date for the Western and Easter calendars.

The formulas were gotten from the Internet.
It is a simple app where, you enter the year and you get the dates for both calendars in a TextView, I’ve used EditText as labels and made them unclickable, they appear when the dates are visible and get hidden when the dates are not show.

I do not have any professional or internship experience whatsoever. Any input would help.
It was built and compiled on Android Studio 4.1.2 and ran on my device.

Here is the code for the XML.

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">


    <TextView
        android:id="@+id/textView"
        android:layout_width="459dp"
        android:layout_height="56dp"
        android:layout_marginTop="8dp"
        android:layout_marginBottom="8dp"
        android:text="@string/welcome"
        android:textSize="22sp"
        app:layout_constraintBottom_toTopOf="@+id/editTextDate"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toStartOf="parent"
        android:gravity="center"
        app:layout_constraintTop_toTopOf="parent" />

    <EditText
        android:id="@+id/editTextDate"
        android:layout_width="wrap_content"
        android:layout_height="46dp"
        android:layout_marginTop="16dp"
        android:ems="10"
        android:gravity="center"
        android:maxLength="4"
        android:digits="0123456789"
        android:inputType="date"
        android:textSize="22sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/textView" />

    <TextView
        android:id="@+id/textViewWestern"
        android:layout_width="150dp"
        android:layout_height="48dp"
        android:layout_marginTop="60dp"
        android:gravity="center"
        android:text=""
        android:textSize="22sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.045"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/editTextDate" />

    <TextView
        android:id="@+id/textViewEastern"
        android:layout_width="150dp"
        android:layout_height="48dp"
        android:layout_marginTop="60dp"
        android:gravity="center"
        android:text=""
        android:textSize="22sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.969"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/editTextDate" />

    <EditText
        android:id="@+id/western"
        android:layout_width="150dp"
        android:layout_height="44dp"
        android:layout_marginStart="12dp"
        android:layout_marginTop="16dp"
        android:ems="10"
        android:focusable="false"
        android:focusableInTouchMode="false"
        android:gravity="center"
        android:inputType="textPersonName"
        android:background="@android:color/transparent"
        android:text="Western"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/editTextDate" />

    <EditText
        android:id="@+id/eastern"
        android:layout_width="150dp"
        android:layout_height="44dp"
        android:layout_marginTop="16dp"
        android:ems="10"
        android:focusable="false"
        android:focusableInTouchMode="false"
        android:inputType="textPersonName"
        android:text="Eastern"
        android:background="@android:color/transparent"
        android:gravity="center"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.969"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/editTextDate" />
</androidx.constraintlayout.widget.ConstraintLayout> 

The MainActivity.java code.

package com.example.easterdate;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.Gravity;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        EditText Edit = findViewById(R.id.editTextDate);
        final TextView text = findViewById(R.id.textViewWestern);
        final TextView textEastern = findViewById(R.id.textViewEastern);
        final EditText eastern = findViewById(R.id.eastern);
        final EditText western = findViewById(R.id.western);

        eastern.setVisibility(View.INVISIBLE);
        western.setVisibility(View.INVISIBLE);

        Edit.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {

            }

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {

                if (s.toString().trim().length() == 0 || Integer.parseInt(s.toString()) < 1800) {
                    text.setText("");
                    textEastern.setText("");
                    eastern.setVisibility(View.INVISIBLE);
                    western.setVisibility(View.INVISIBLE);
                    return;
                }

                EditText Edit = findViewById(R.id.editTextDate);
                int AN = Integer.parseInt(Edit.getText().toString());

                int G = AN % 19;
                int C = AN / 100;
                int H = (C - C / 4 - (8 * C + 13) / 25 + 19 * G + 15) % 30;
                int I = H - (H / 28) * (1 - (H / 28) * (29 / (H + 1)) * ((21 - G) / 11));
                int J = (AN + AN / 4 + I + 2 - C + C / 4) % 7;

                int L = I - J;
                int MP = 3 + (L + 40) / 44;
                int JP = L + 28 - 31 * (MP / 4);

                int mon, day;

                int A = AN % 19;
                int b = AN % 7;
                int ce = AN % 4;
                int d = (19 * A + 16) % 30;
                int e = (2 * ce + 4 * b + 6 * d) % 7;
                int f = (19 * A + 16) % 30;
                int key = f + e + 3;
                if (key > 30)
                    mon = 5;
                else
                    mon = 4;
                if (key > 30)
                    day = key - 30;
                else day = key;

                String() month = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};

                eastern.setVisibility(View.VISIBLE);
                western.setVisibility(View.VISIBLE);
                text.setText("Sunday " + JP + " " + month(MP - 1));
                textEastern.setText("Sunday " + day + " " + month(mon - 1));

            }

            @Override
            public void afterTextChanged(Editable s) {


            }
        });

    }
}

How professional is this code? should I have used functions instead of imperative programming?
The TextWatcher is used to prevent the app from crashing and to have the dates display on input, any better solution?

[SG] 50% OFF EASTER SALE | Immediate setup | SSD | Softaculous | FREE SSL | WordPress optimized | 24/7

The Business Technology Team is a web hosting company that offers fast and reliable hosting solutions. We want to offer solutions that want their own website in a very modern and first-class performance, without spending too much money.

We offer a 30-day money-back guarantee with no questions asked.

All of our hosting offers have an instant setup function. We will set up your server in less than 5 minutes.

Server location:

State-of-the-art Cisco switches and routers are built in our data center in Singapore. Each of our servers is connected directly to our fiber optic backbone via several Cisco switches. The data center has one of the best GBPS network devices in Singapore. The data center has 24x7x365 network monitoring with a state-of-the-art IP-based device scaling system that can immediately transfer a failed network to a new one.

Ideal for most Asian countries including Singapore, Bangladesh, Bhutan, North Korea, China, Brunei, Cambodia, China, India, Indonesia, Laos, Malaysia, Maldives, Mongolia, Myanmar, Nepal, Pakistan, Philippines, Russia (East), Korea , Sri Lanka, Taiwan, Fiji, Thailand and Vietnam.

Our unbeatable features:

NVMe SSD for all hosting plans
Unlimited bandwidth
Developer friendly tools
Free SSL encryption
30 days money back
SEO Attracta Tools
LiteSpeed ​​for WordPress
CloudFlare CDN
SitePro Website Builder
Softaculous

Shared hosting plans:

ENTRY

Storage space: 5 GB
Addon domain: 1
Subdomain: Unlimited
MySQL database: 2
Email account: Unlimited
Let's encrypt SSL
Order now – $ 2.29 per month

EXTENDED

Storage space: 30 GB
Addon Domain: Unlimited
Subdomain: Unlimited
MySQL database: unlimited
Email account: Unlimited
Let's encrypt SSL
Order now – $ 5.49 per month

EXPERT

Storage space: 50 GB
Addon Domain: Unlimited
Subdomain: Unlimited
MySQL database: 2
Email account: Unlimited
Let's encrypt SSL
Order now – $ 7.49 a month

For other inquiries and concerns, you can email us at support@butete.com

We accept payments by Paypal

Stay safe and please stay at home!