- Desktop applications does access have to be provided through the user interface (GUI), or can it just be through program files?
There is no requirement that the source code can be obtained from within the application or even that it gets installed on the end-user's system together with the application.
If the application is typically downloaded from a website, then it is already enough to put a download link for the source code next to the download link for the executable.
Other means include providing a download link for the source code in a reasonable location in a dialog/screen of the application or to provide a means to contact you to ask for the source code and ship is on a physical medium (like a CD).
- Mobile apps - is listing the names of libraries in-use sufficient? I have seen apps do this with MPL v2 licensed libraries without providing hyperlinks to the source; are users expected to look up the names?
No, just mentioning the names of the libraries is probably not sufficient to cover the requirements from the license. If the library's name is accompanied by a version number, the license and a link to the repository that would work.
- Code hosted on a CDN - how do end users know what the hosted content is licensed under in the first place? Does the same license automatically apply to the hosting provider (since the code was 'distributed' to them first)? And if it does, is the hosting provider solely responsible for releasing source code to the end user?
If the hosting provider just provides some internet-accessible space without controlling what the space is used for, then that provider is not a recipient of the code (it is not distributed to them).
The person/organization who placed the code there is fully responsible for compliance to the license terms.
- Code embedded in hardware - in hardware such as game consoles, screen readers and airplane entertainment systems where 'tinkering' is limited, how would GPL'd code be given to the user, if at all? In the case of assistive technology, does accessibility have to be taken into consideration?
With embedded code, it depends a bit on what kind of user-interface the device offers. If the user-interface is capable of showing larger amounts of information, the device can show the licensing information and where/how to obtain source code on its user-interface. If that is not possible or considered undesirable by the manufacturer, then the information should be provided in the documentation that accompanies the product.