What About Using Rel="share-Url" to Expose Sharing Intents?
Posted4 months agoActive4 months ago
shkspr.mobiTechstory
calmmixed
Debate
60/100
Web DevelopmentSharing IntentsBrowser Features
Key topics
Web Development
Sharing Intents
Browser Features
The article proposes using rel='share-url' to expose sharing intents, sparking a discussion on the effectiveness and potential drawbacks of this approach, as well as alternative solutions.
Snapshot generated from the HN discussion
Discussion Activity
Active discussionFirst comment
1h
Peak period
13
0-3h
Avg / period
4.9
Comment distribution39 data points
Loading chart...
Based on 39 loaded comments
Key moments
- 01Story posted
Aug 22, 2025 at 7:49 AM EDT
4 months ago
Step 01 - 02First comment
Aug 22, 2025 at 9:05 AM EDT
1h after posting
Step 02 - 03Peak activity
13 comments in 0-3h
Hottest window of the conversation
Step 03 - 04Latest activity
Aug 23, 2025 at 8:01 PM EDT
4 months ago
Step 04
Generating AI Summary...
Analyzing up to 500 comments to identify key contributors and discussion patterns
ID: 44983364Type: storyLast synced: 11/20/2025, 1:20:52 PM
Want the full context?
Jump to the original sources
Read the primary article or dive into the live Hacker News thread when you're ready.
https://w3c.github.io/web-share-target/
https://developer.mozilla.org/en-US/docs/Web/Progressive_web...
Use that, and the browser/native platform integration is already there, and ShareOpenly becomes more of stopgap measure.
The only real problem is that you can’t feature-detect share_target support—so you can’t detect if the user is able to add a web app to the user agent’s share targets.
As for ShareOpenly using these things, see https://shareopenly.org/share/?url=https://example.com, and it requires the user to paste a value in once, and then by the looks of it it will remember that site via a cookie. Not great, but I guess it works. But I’m sceptical anyone will really use it.
I didn't know this existed, so the first thing I did is check the caniuse website, and yeah not even they have info about the Web Share Target API[1][2]. As of writing this comment, they only have info about the Web Share API[3].
[1]: https://github.com/Fyrd/caniuse/issues/4670
[2]: https://github.com/Fyrd/caniuse/issues/4906
[3]: https://caniuse.com/web-share
- there's a giant banner on the left saying "unofficial"
- The "Status of this document" section states the following:
--- start quote ---
This document is a draft of a potential specification. It has no official standing of any kind and does not represent the support or consensus of any standards organization.
--- end quote ---
But just because it was shipped in Chrome and has some napkin scribbles resembling an official spec, people will both claim it's a spec and expect everyone to implement it.
https://github.com/mdn/browser-compat-data/blob/main/manifes... (data integrated into the MDN page I linked)
Chromium: https://chromestatus.com/feature/5662315307335680, implemented on Android from M71 and desktop from M89.
WebKit: standards position is neutral <https://github.com/WebKit/standards-positions/issues/11>, and https://bugs.webkit.org/show_bug.cgi?id=194593 shows plenty of developer interest but doesn’t look to have been touched by Apple.
Firefox: standards position is positive <https://mozilla.github.io/standards-positions/#web-share-tar...>, but https://bugzilla.mozilla.org/show_bug.cgi?id=1476515 has languished.
aka
This document is a draft of a potential specification. It has no official standing of any kind and does not represent the support or consensus of any standards organization.
I regularly criticise Google-only specs and point out how they’re not standards in any way, but this one is not really like that—it’s just that the other two platforms are missing a couple of other pieces that are better to get in place first, and it’s not a high priority for them.
And certainly in the context of this rel="share-url" outsider proposal, nah, the share_target manifest reference is still way more “official” than that.
It makes it a non-official Chrome-only non-standard
> Firefox’s position is positive (admittedly that was 2019), WebKit’s is neutral,
Positions don't make a spec
> but this one is not really like that—it’s just that the other two platforms are missing a couple of other pieces
It literally means that in the very literal sense of the word literal:
The "Status of this document" section states the following:
--- start quote ---
This document is a draft of a potential specification. It has no official standing of any kind and does not represent the support or consensus of any standards organization.
--- end quote ---
Which part of that tells you that "it's not like that"? It's not even on a standards track. It's not even a Working Draft (the very first level of a spec when vendors agree on the idea, but haven't iterated on the API: https://www.w3.org/policies/process/#rec-track)
> the share_target manifest reference is still way more “official” than that.
Google presents these napkin scribbles in the w3c format precisely so that gullible people would wave them around as actual specs.
Sure, we could throw in another spec and maybe Mozilla will implement this one and maybe Safari won't be neutral to the new one, but why go through that effort when there's already a working solution to this problem?
Also some stuff I dislike:
>The user agent MAY automatically register all web share targets as the user visits the site, but it is RECOMMENDED that more discretion is applied, to avoid overwhelming the user with the choice of a large number of targets.
Yeah, specs that leave it open to site discretion whether or not to be abusive have a great deal of success.
>This specification has no known accessibility considerations.
No really!?
Yeah a screenreader functions as a sequential medium, so what happens with registry of all share targets with screenreader, in fact what happens when screenreader comes to site, screenreader now will tell you that you have shares first? This is up to the browser how they tell the user that there are shares and ask for their input? So it will work differently between browsers?
I have found some bugs before in Google provided specs that were somewhat annoying for screenreader usage, and evidently the reasoning they must have had was that there were no known accessibility considerations because they sure didn't specify any.
Both Android and iOS have sharing mechanisms that work just fine with screen readers. They show the most common/likey/favourited options first, with an option to expand to other apps/share targets. My phone has dozens of options, but I rarely need to scroll beyond the first line to find the share target I'm looking for.
The share dialog is an OS/browser control, not something the web page needs to render, so it's as accessible as the browser decides it should be. Many Linux distros lack such a control, but on Android/iOS/Windows/presumably macOS, this is a solved problem.
as quoted >The user agent MAY automatically register all web share targets as the user visits the site, but it is RECOMMENDED that more discretion is applied, to avoid overwhelming the user with the choice of a large number of targets.
The spec evidently feels it won't make any difference at all, but I'm not sure, and it's harder for me to reason about this than the simple rel share url thing.
I have no doubt this proposal or any other similar proposal would work well in the 90s or early 2000s. Let's go one step further and let browsers work with all those third party website and figure all the details for sharing, and websites never embed anything.
But you see, that's not the problem. These share buttons are often trojans on websites. Facebook tracks you via those share buttons even if you have never had a Facebook account. And people come up with various solutions to tackle that -- adblockers just block network traffic, while a small amount of website owners create a separate switch which you can toggle and then share with Facebook. Isn't all of that stupid? I don't see why Facebook, Instagram will be eager to opt in to this solution and make the experience good.
I believe this is to play with (mobile) browser's share button, while even there I don't get how this is supposed to work.
First: How does this figure out where I want to share to? And then: Would it have to load the shared-to page first, parse it to see if there is such a Tag and then interpret it?
Maybe I am missing something.
Speaking as someone who never ever uses a share button I think this is misguided, we should just remove that entire class of widget from the web, and people who want to share things can copy-paste the URL into their platforms of choice.
Sharing a link is easy. That's why URLs were invented. Exposing the sharing intent is only beneficial to companies that want to track you.
Sure, pressing "share on facebook" might be slightly lower friction than copy-pasting the link, but if the sharing isn't worth that friction, perhaps don't?
For me, I use history.replaceState to change the url after I've got my campaign tracking to the share link, this way the browser's built-in share button does all the work for me. I can detect trivial-reload by checking the cookie I dropped when the page came in, so I don't mis-attribute shares. It is a shame I cannot do this so easily without JavaScript, but I'm sure I can actually buy non-JavaScript users from Google (and other ad platforms) so I'm not sure it's worth worrying about.
A meta tag in the html of your webpages seems like the wrong place for that info since it's not something that changes per page unlike the OpenGraph/TwitterCard meta tags that tell third-party apps how to generate a preview of the page.
Surely a better place would be example.com/.well-known/share-url.
> Extensions to the predefined set of link types may be registered on the microformats page for existing rel values.
Please don't. WHATWG's tendency to self-anoint and all its idiosyncrasies notwithstanding, the IANA maintains the link relation registry[1]. Use the procedure prescribed in the RFCs.
1. <https://www.iana.org/assignments/link-relations/link-relatio...>