Assuming you are actually referring to buttons or JavaScript triggers instead of honest hypertext references, it doesn’t matter a lick what element you’re using, as long as CSS styles apply `cursor: pointer;` to it (and possibly consider ensuring it has a tab index). I don’t see why you need to make needless criticisms.
Because random spans don't get hinted, and to click the link, I have to actually reach for my mouse. a and form elements are clickable. Everything else is just plain text.
In this case, the "edit" link looks exactly like a link (inline element with underlining and a different color when you hover over it), but it's a span instead. Why invent your own tags when they already exist? All you do is break things for people that aren't you. Follow the standards and everything will work for everyone. Make up your own, and you can only ensure that what you test works.