Introduction
First of all, great answers from everyone here, and a great question! I'm happy that people are genuinely concerned with such things! (My friends think I'm strange, I once got strange reactions at a camp fire for what I'm about to say) While I could rewrite many of what has been said already, I will instead add my 2 cents and hope it helps as well!
Reasonings
When it came to developing my own website I also had a difficult choice to make when it came to user friendliness and usability. As developers we natively desire our end users to understand what elements are interactive in nature and which are not, usually by indication of the hand cursor, however this method is flawed, as you've said, as it does not apply to other elements.
But there are fixed for this!! As in web design we find that by adding the CSS code given by the chosen answers in another post we ins that adding:
yourelem { cursor: pointer; cursor: hand; }
.. Is plenty enough to give the user that feedback, or is it? While it helps in desktop environments, it does not answer the question for mobile, which gets a little more complex.
Cross-Platform Support
I have managed to get my website mobile touch friendly by applying an opacity decrease during active states, as applied by my CSS sheets. Also, to get touch to activate the CSS styles I needed ontouchstart=""
added to the body tag!
Using 2 Methods
Ultimately, I opted out into changing the default cursor implementation for my project, and added style changes for each interactive element for mouse hover, mouse click, and touch press. This solved my problem and made the entire site more intuitive to navigate and use! It was a complete win-win for both navigation experiences!
So while I personally added the hand cursor to any and all interact-able elements I did make said elements indicate that they were interactive on their own, thus providing enough feed back that they did something to the end user.
User Friendliness is Most Important
Because that's what is truly important here:
- That the end user may discover that an object can be used or not,
- that they get proper feedback upon trying to do so,
- that they feel a sense of awareness and usability.
Because there is nothing worse than pressing, or hovering over an item, especially if it says "click me" and it not changing to show activity..
Imagine this, a button with not feedback of current state is alike having a red button painted on a wall, only that in this case the red button actually works and defies understanding, and we don't want to confuse the end user, we want to help them.
So to answer your question (in my own flavor of bias):
No, it is not important that the cursor changes, and the cursor style should be left alone.
I recently had this same
issue with a password "peak" feature and it changed my perspective. My
advice is to explore the cursors available to you and use them
whenever possible, if there is a cursor and changing it allows for
more friendly use cases: GO FOR IT! My stance on the second bullet
remains the same:
It is important that the user can be shown, preferably before use, that the item in question can be used, via change to the element
itself in some fashion:
- Fade it a little when the mouse hovers over it (or darken it, however you like)
- Fade it (or darken) a lot more when the user clicks on it (or touches it if on mobile, because there is no hover on mobile, yet - I
hear it's in the works)
This will ensure that the user will be notified if it can be
interacted with on mobile and desktop devices and will save everyone a
lot of headache!
I am always eager to hear of new techniques! So please share your resolutions for this common problem!