We have an imho fundamentally broken model for inserting links. I don't know why we show the Link tool in the toolbar when there is no selected text because it's pretty much impossible.
The tool is optimised for adding a link to existing text (or typing the label out first, which is unnatural for anyone who hasn't acquired it as a habit due to this bug), and for changing the link target.
A few use cases:
- Add link in list
- Add item item (press return after the last item or create new list)
- User has a page or url he wants to link to
- Press "Link" tool
- Type target page name or url
- User wants to insert link with that label, or (more likely in case of an external link) have the label be something that is not the link target.
- Add link while typing text
- Update mistake in text (e.g. text mentioning "born in the US" or "born in 1955" and the link and label of US/1955 should be another country or year).
I think the frequency at which one needs to only update the link label or link target are significantly lower, but the other cases are certainly not edge cases.
Here's a recording of me painfully trying to insert a link:
To this day I have not once been able to insert a link without running into a bug that would've discouraged me as a user.
I thought I filed these as separate bugs at some point but I can't find them. Issues encountered in the video:
- Inserting a plain external link and then typing its label causes an exception (a pawn appears; see video).
- The link inspector seems to lack an intuitive way to apply the change. During the video you can see me at various points being confused and eventually pressing "Back" (or pressing Enter) to apply the change. Especially when inserting a new link or changing an internal link to an external link (albeit by accident) it's counter-intuitive to not see anything in the page or to continue seeing a red link when I've already selected the value from the dropdown menu.
I think when the user selects the value from the dropdown menu, that's when we can apply the change (but keep the inspector open). An interface component like this one that has no "Save" button and implies automatic saving should either make sure the object being changed has no visual impact or make sure it is applied live (And not suddenly when clicking away / blurring the inspector)
- Adding a label (or rather, due to the lack of an input for the label, being forced to change the implied label) is unusable due to lack of text selection within the boundaries of the link (see video).
- After the link is inserted, the link text is selected in the surface (the link target in the inspector, which is still open, is also selected). It's not clear whether typing will replace the label or the link target (see video).