I have found that there is usually one locator which works for all browsers. If I have to find different locators for each browser for the same element then there is a bad smell. Something is wrong. Either the locator I have selected is not the right selector or the developers are returning different pages for each browser.
Years ago there were libraries you could get which scanned the HTTP Request to figure out which browser was making the request and tailor the HTTP Response to be browser specific. This meant that the page returned to Netscape was different than the page which was returned to Internet Explorer. This was hidden from the developer. They would be using tools which auto-generated the different web pages based on browser. The end result however was that the IIS Server was literally returning different pages for each web browsers. If the same URL returned a different page dependent on the browser then you literally needed multiple tests, i.e. one for each supported browser.
These 'tricks' seemed like a great idea because they had no overhead to the developer BUT they dramatically increased the overhead for testing.
The way to see if this is what is happening is to compare the source code from Internet Explorer to the source code from other browsers (Firefox, Chrome, Safari). If the structure of the code was notably different there is a definitely problem.
If the structure of the page code is the same but the attributes are different then it is not a problem for development. It is a problem with your selection of locator. You need to look at the code and determine if there is one locator would work for all browsers for each element.
On the other hand, if the problem is that a locator which works for one browser (say Firefox or Chrome), should work for another browser (say Internet Explorer) but does not then you probably have a timing problem. The classic timing problem in Selenium is that there is ALWAYS a timing issue locating some elements but some browsers are so fast that the timing is so fast you don't see the timing requirement but other browsers are so slow you do see the timing requirement. The solution is to handling the wait for event properly. This fixes the problem with slow browsers but has no effect on fast browsers.
Darrell