Related
I'm building an application using xlib/x11. What can I do to make sure the application is accessible and usable by people using screen readers and other assistive technology? Is there documentation/standards about this stuff somewhere?
I'm building an application using xlib/x11.
Don't do that (coding just above X11 an accessible application). Raw Xlib is too low-level. (You'll need to work many years if you only use Xlib, and by that time X11 could become obsolete, e.g. replaced with Wayland).
You really want to use some toolkit like Qt or GTK, etc; not just Xlib.... Life is too short to avoid toolkits (which are built above Xlib and other things). See also EWMH
And both Qt and Gnome (above GTK) have accessibility guidelines and features. Read about Qt accessibility and about Gnome/GTK accessibility. So choose some toolkit providing accessibility features and use them.
Or consider developing a web application, perhaps by using some HTTP server library like libonion. Web accessibility is also well documented.
If you really want to only use Xlib (without any toolkit), you need to implement accessibility yourself (probably with some other software). That (and developing your own widgets...) will take you a lot of time (years of work), if you don't take advantage of existing software and guidelines related to accessibility.
I suddenly found Xcode have very poo support for view the C API docs.
Suppose if you want to find the definition for fopen, you can't find any meaningful info for this function expected the declare.
So any workaround for this?
Edit according to Mark Szymczyk's suggestion.
My problem is when I Option click the function, it just show this function is declare in stdio.h, no more explanation to this function like other cocoa APIs.
And when I search in the documentation viewer, it shows something like this, this will cost a little time to figure out it.
There is no solution for you with Xcode. Apple's top priority with Xcode is developers of apps on Apple's platforms using Apple's technologies. That priority also applies to documentation. For standard C language APIs, Apple supplies man pages. If that is not good enough, you're out of luck.
A possible solution is to use Dash, a documentation viewer app. If you can find a comprehensive documentation set for the C language APIs, you could import it into Dash and read it from there.
I would like to ask the SO community for the following information:
- Is it possible to compile WebKit for Windows8-Metro Environment, either in the form of a WinRT component or just as a linked library in a C++/XAML application?
- Which are the main steps to achieve this goal?
- Which are the possible things that would make this not possible or very difficult?
- Is it an endeavour someone is working on just now?
- Is it possible to gather interested people so they work on this?
I think you will not be able to just "compile" Webkit for WinRT/Metro Style. Metro Style applications are restricted in the kind of API calls they can make, for example there is no GDI/GDI+/MFC for WinRT. WebKit has several building modes that you can use, you can either build it using QT as rendering engine, or using GTK, or plain GDI, but on all those cases, when you create new builds for Windows OSes you will be using GDI at the very end.
Nevertheless, you could modify Webkit source code and add a new rendering engine that uses WinRT new APIs. You could probably become famous if you do.
As a side note, even when there is a "Windows Store" version of Chrome, by looking at the source code of Chromium it seems to me that this version is just a simple app launcher that communicates with the "normal" desktop version using an IPC channel. It does not appear to be a real Windows Store build of the whole source code.
I am not sure if the WinRT environment will allow this, but there is a project called Awesomium that is a wrapper around Google Chrome and Google Chrome is based on WebKit I think. It also has a .NET wrapper, so you can embedd it onto your .NET app.
I never tried using it, neither I know about if this library is applicable with WinRT, but at least it is a start.
Awesomium
Awesomium .NET samples
DownMakerWPF, an application embedding it to display markdown.
WinRT is a combination of managed and native code, so, you have a chance to port WebKit, but remember - native code have some sandbox restrictions.
Also you can choose XNA instead.
Where do you find out if Android, Safari (iOs) etc are supported by the Google Closure libraries?
GCL supports all of them. That is the nice thing about GCL, a platform independent Library, that abstracts nasty platform/browser specific bugs.
I found the following way to search the source code, where you can look for words like iPhone etc to see what specific handling they have for specific devices.
Code search for iphone: http://www.google.com/codesearch#search/&q=iphone%20package:http://closure-library%5C.googlecode%5C.com
Although searching for blackberry doesn't return anything, which means that it doesn't cater for Blackberry's Javascript?
Has anyone ever embedded the firefox web browser technology in their own [unmanaged] C/C++ GUI application in the same way that IE can be embedded as a COM object? (I would like to do this on Linux, not Windows). Are there "better" alternatives to firefox? I'm open to anything as long as I can use it with non-GPL code. My needs are fairly basic; I only need fundamental HTML parsing and display of static local files, but I'd take advantage of more sophisticated technology, if I can get it. I'd like to be able to use JavaScript, but I can get by without it.
First you need to differentiate between HTML engine and JavaScript Engine.
Firefoxs HTML rendering engine is called Gecko. And here is a guide about Embedding Gecko in your application.
Firefoxs JavaScript engine is called SpiderMonkey and here is How to Embed SpiderMonkey in your C application
Check out webkitgtk. It's not Gecko, but Webkit based. It basically provides a web browser widget that can be used in GTK+ applications. If you want to embed mozilla, there are things in the mercurial repositories for Mozilla repository that let you do it, but it didn't seem heavily supported last I checked.
as stated by Mozilla
Embedding of Gecko is no longer supported
so have a look on either previous mentioned Chromium Embedded Framework or WebKit. Alternatively, you can follow Mozilla's new project https://servo.org/.
You will find some more up to date information on Is it possible to Embed Gecko or Webkit in a Windows Form just like a WebView?
It is possible to use parts of Firefox (such as the Gecko renderer) in other apps. There are various approaches to this, including wxWebConnect, a web browser control for wxWidgets. See also Embedding Gecko
Another popular solution is WebKit. Again, there are various ways you can use this, including QtWebKit (a wrapper for the Qt toolkit) and webkitgtk (already mentioned by SB).
Have a look at CEF (Chromium Embedded Framework). It is very similar to WebKit and it also has built-in HTML and JavaScript engines embedded but has better WebGL and HTML5 Canvas support. It is released under BSD license.