Strategy – Is it a valid or acceptable practice to develop a separate page to meet the accessibility requirements?

I've recently visited some sites that either use outdated technologies (like Flash) or have a lot of complex front-end Javascript code to create UI interaction.

Some of these sites include a link or button that takes you to a page in accessibility mode that removes any unnecessary features. In addition, only content optimized for screen readers and other accessible features (such as keyboard navigation) are provided.

Given that accessibility is now so important and integrative design is slowly being integrated into many of the standard design systems, it is still considered an acceptable practice to provide a separate page to accommodate accessibility guidelines (i.e., WCAG 2.0) fulfill? Are there other reasons why this could be a better strategy / option in the current design and development culture?

Navigation – Best practice for linking the main page to the BETA website

I will explain it briefly.

I work for a new booking platform. You currently have two different websites:

  • The main website [landing page] with all information about the company

  • the BETA platform [with listings, profile dashboard and search bar]

For now, when you are in BETA and then click on the company logo in the navigation bar, you will be returned to the main landing page.

To return to the BETA, when you are on the landing, there is a link in the respective navigation bar and on the entire website.

NOTE: The BETA platform and the landing page have different and separate navigation bars and links [the design is similar]. – The BETA has a profile drop-down menu that can not be replicated to the main landing page because the sites used two different services.

→ Now the company must have a proper homepage for the BETA platform with some new features, but also maintain the main landing page.

What do you think is the best way to link the two homepages without confusing the users?

I hope I was clear enough

Thanks for your review


tcp – What's the best practice for bidirectional communication between two Python scripts?

For a robotic application, I need to establish communication between a Mac (A) and a Raspberry Pi (B), both of which are connected to the Internet. I use Python on both machines. Both A and B must always be able to send messages to each other. For example, navigation commands from A to B and sensor data from B to A.

I'm currently using a raspberry TCP socket as a server.

What is the best way to achieve this? I tried to run the socket code in a separate thread, but in client / server mode, I can not figure out how to send a message from the server while waiting for data from the client.

Architecture – Is it a bad practice to let an object state react to its dependencies?

Today I tried an implementation MenuTabSelector This is responsible for selecting and maintaining the status of one of the tabs in my project's menu.

The interface looks something like this:

public MenuTabSelector(UserInput); // constructor
public MenuTab GetCurrentTab(); // state accessor

And one of the use cases of this class is for example:

UserInput userInput = new UserInput();
MenuTabSelector menuTabSelector = new MenuTabSelector(userInput);


Assert.IsTrue(menuTabSelector.GetCurrentTab() == UserTab.Inventory);

After writing this case, I wondered if it was a smell I had MenuTabSelector changed his condition due to events in one of his dependencies.

For example, I could implement it without that UserInput Dependency by using something like this:

public MenuTabSelector(); // constructor
public void SelectNextTab(); // command
public MenuTab GetCurrentTab(); // state accessor

Written with the same use case as follows:

MenuTabSelector menuTabSelector = new MenuTabSelector();


Assert.IsTrue(menuTabSelector.GetCurrentTab() == UserTab.Inventory);

And with that the connection between UserInput and MenuTabSelector could be done in a higher level of abstraction, with this such

// App
// ...
userInput.OnPressRight.Subscribe(menuTabSelector.SelectNextTab); // event subscription
// ...

Is it a smell to implement a component that changes state due to events in one of its injected dependencies? If so, what problems should I expect from this approach?

relations – best practice for database model / design

I am looking for guidance / advice on how to best model my data.

Background: I have location information that I would like to model. There are two categories of sites (enterprise sites and non-enterprise sites) because not all sites share the same data elements.

The following two tables represent my current model (without listing all columns).

My thoughts on the current design:

  1. If I combine the following two tables, I must enter values ​​for zero company_codebecause not all locations have one company_code, Because of the large number of different data items, I do not want to add nulls between the two different location types.
  2. The location_company and location are two important concepts in the company. I want tables in the database to represent two of these two concepts.

Enter image description here

I am not sure if this is the best approach. I would be very happy about thoughts on the design. Other thoughts are also welcome.

If my problem is unclear, please ask. I will kindly add clarification. Thank you in advance.

Unit – Is my interface a good practice?

I've created a basic UI with the following interface in Unity:

I have a few different states that I want to switch between by pressing buttons – the in-game, the menu, and the submenus. There are buttons that allow you to close and open certain menus. In addition, I can use the Escape button to do one of the following:
In the game esc goes to the main menu
When in the main menu, esc comes into play
If you are in one of the submenus, esc will switch to the menu above

I implemented this by having a specific menu item structure that I added as a component to each of the game's items, the main menu, and the submenu. It contains a pointer / reference that is called nextrefers to another menu item. In particular, it refers to the object that provides the above "esc" functionality. For example, the menu item component on In-Game contains a pointer to the menu item component on Main Menu. I also have a static reference currentpointing to the current object that should be active and set to the main menu at the beginning of the game.

If you now press the Esc key, the current Object is disabled, that current is set to ` and then this object is activated. In addition, if the switch was made from the in-game menu to the main menu, we'll do extra things like turning off the in-game UI, setting time.scale to 0, and so on (and the opposite, from menu to in-game is changed).

Is this all reasonable and reliable? Everything works fine, but I have no experience with the UI and do not know if what I've done is a good exercise.

Second, the user interface must of course be reliable. Is it even reliable to create such a user interface? How can I make sure this is safe? What if I press esc and current go to current.nextBut for some reason, the things that should happen during this switch (different objects that turn on and off) do not happen. It may happen that I am now in the game without a crosshair and the crosshairs are activated when the menu is called up. This shows that I should probably pinpoint based on the object I am pointing to, which the Esc button points to, and not just say that every time the Esc button is pressed, it switches between true and false, otherwise they could not be in sync anymore.

What are some best practices for building reliable user interfaces that will continue to work and not cause terrible problems when things go wrong?

Database Design – What do these ERD relationship arrows mean in practice? (One to one, zero or one to one)

So suppose we have this situation:

I know that this means that the foreign key fk1 can only be assigned to a primary key ID2 and also (which means that there can not be duplicates of fk1 values ​​in Table 1, as far as I understand, please correct me, If I am wrong). Now I have a dilemma, whether there can be values ​​in table2 that are not yet assigned to any foreign key in table1 or not. In practice, I suppose that values ​​in table2 may exist without being assigned to any of the foreign keys in table1 (and that this depends on the DBMS used), but the theory I've read about these arrows does not really recognize that , My friend tells me that the described situation should be presented as follows:

and not like in the first picture. I suppose that for this image, this means that there may be values ​​in Table 1 that have fk1 as NULL, and that there can not be duplicates of fk1 in Table 1. Is that the right assumption or not?