We don’t know which browser, which version of that browser, or what kind of computer a user visiting our website is using.
So we should design our sites to be fluid and utilize media queries to optimize the site for any screen size (responsive web design).
So we try and load as few resources as possible. We make those resources as small and compressed as we can. We serve those resources through servers optimized just for that and geographically closer to our users (e.g. NetDNA). That way our website loads as fast as possible.
So we conduct user research (e.g. Silverback) and try to find out. We try and accommodate different ones. We use our experience (and sometimes gut instinct as users ourselves) to make the right decisions. We design for humans.
So if our site needs it or could be better by knowing it, we can ask for it. Either literally or through HTML5.
So if we have the resources to do it, we use translation services (e.g. Smartling) to offer our website in a user’s native tongue. If we are trying to be as professional as we can, we also probably try and be sensitive to culture differences worldwide.
So we try and make it very obvious how to use our site and not make too many assumptions. We use common design patterns to accommodate “affordances“. We sweat the details in our design, copy, and overall “user experience”.
So we try and craft our sites with accessibility in mind.
We know very little about a visitor to our website. We actually know less and less every day, as the demographics of internet users widens (younger and older, no longer a nerd thing, more areas geographically, etc.) So as we march forward toward the next 6 billion people using the web, let’s embrace the unknown by accommodating for it.