What is the market share of contactless mobile browsers? How many percent of users use these browsers?
It usually depends on the region, so it depends on your audience. You can get an idea from
https://deviceatlas.com/device-data/explorer/webusage-by-country/traffic/mobile/country/us/type/browser_name
http://gs.statcounter.com/#all-as-ww-monthly-201610-201612-map
But in my experience this is not very useful, because a lot is determined by the type of client that your product focuses on if it is not a very widely adapted product, for example. On a niche e-commerce site that sells valuables, you'll see Safari. Therefore, before solving the problem, if you can collect some data (if you have an existing product) or ask fb forums / groups to people who have a product in a similar domain, this will help you determine priorities, because construction is less problem than supporting it.
I made my entire site with a bootstrap suggesting touch functionality for small screen devices. Does modern html css methods use the best recommendations on creating a website for mobile devices with a touch screen only? Editing: while listening to suggestions that I decided to optimize for mobile devices without touching. But I'm not sure how they mimic the behavior of the mouse in general. I assume that elements that are focusable can be selected and clicked. Thus,
If you want to reach a wide range of browsers, use https://modernizr.com to discover features and respond accordingly or have backup interactions. Caution, it is always not recommended to drag the library if you want only a few functions, so see your use cases. On the other hand, the advantage is that it is constantly updated.
You can see a list of touch events (and the like) that are triggered by different browsers here http://www.quirksmode.org/mobile/tableTouch.html#link1
For a list of non-Apple touch events check this out https://developer.mozilla.org/en-US/docs/Web/API/Force_Touch_events
Similarly, you will have to dig up the event lists for the browsers you want to support.
Should I do all of my elements that work with hovering, for example? focusable navigation using tabindex = "1"?
For tabindex, what Andre suggested is right (to have the correct order for important elements, which should be done at the testing stage).
Check this to see when to avoid it and when it can create a problem. There are more than the ones listed here, so do a good research if you play too much with tabindex.
https://developers.google.com/web/fundamentals/accessibility/focus/using-tabindex
I tested my site on the Opera mini-browser in Kemulator and found that it reloads the page when I click on the navigation, and some other layers are not displayed, for example. bootstrap modal pops up.
Does Opera Mini browser not support javascript?
In most cases, Opera Mini processing is done through Opera servers, which often prevents JS from working properly.
These are workarounds for some features for which you can refer to https://operamini.tips/#/
All that I said, still suggest, do a good study of the target users, and from there prioritize your support list for your initial versions. It may take an investment of time and possibly money, but it's worth it. Then improve the list in the list until you can remove the main mistakes, and when you have the bandwidth, then attack the next part of the list. Having an approach that supports too many browsers / devices / screens will first lead you to a “maze of support” where you will be stuck with error removal everywhere, and the development of functions will be out of focus.
Also integrate GA analytics (or any other) and attach events to the main interactions and continue monitoring according to screen sizes, device and browsers. for example, Opera Mini gives me 0 events on some pages and is alarming. Sometimes this may not be 0, but a low ratio of users who interacted / visited users. You can attach events by scrolling, selecting a field, etc. Priority is first on the main functions of your product, track, the choice of what you need to focus on, improve, check, and then go to the next part. Thus, basically it will create a matrix of functions with browser / screen sizes, and then assign priority accordingly depending on your type of traffic.