As already mentioned, search engines have no means to index directly extras like images, sounds, flash movies, javascript. Instead, they rely on you to provide consequential textual description and according to it they can index these files. In a sense, the situation is analogous to that with text 10 or so years ago - search engines uses this description provided by you in the metetag to index and process your page. If technology advances further, one day it might be possible for search engines to index images, movies, etc. but for the time being this is not a reality.
- Images
Duplicate content became an issue when tricky webmasters started making multiple copies of the same page (under a different name) in order to fool search engines that they have more content than they actually do. As a result of this malpractice, search engines responded with a duplicate content filter that removes suspicious pages. Unfortunately, this filter sometimes removes quite legitimate pages, like product descriptions given from a manufacturer to all its resellers, which must be kept exactly the same.
With all that mentioned, the main idea is not to pass over images at all. But this may result in a very hideous site so this should be avoided these days. Rather the idea is that images should be used for illustration and beautification, not for navigation or even worse - for example, for displaying text in a fancy font. And the most important - in the attribute of the tag, always provide a momentous textual details of the image. This is required by only search engines not by HTML specification. Also, you can give informative names to the image files themselves rather than name them image1.jpg, image2.jpg, imageN.jpg. For instance, in the next example the image file has an meaningful name and the alt provides enough additional information:. Well, don't go for very big names such as writing 20-word tags for 1 pixel images because this also looks suspicious and starts to smell like keyword-stuffing.
- Animation and Movies
The situation with animation and movies is similar to that with images - they are important from a designer's point of view but are not loved by search engines. For instance, it is still pretty common to have an impressive Flash introduction on the home page. This is a big disadvantage for the search engines - it is a number one rankings killer! And it gets worse if you use Flash write something that can be written in plain text, hence crawled and indexed by search engines. One workaround is to provide search engines with a HTML version of the Flash movie but in this case make sure that you have excluded the original Flash movie from indexing, otherwise you can be penalized for duplicate content.
A new search technology is in process that will allow to search inside animation and movies and that the .swf format will include new metadata that can be used by search engines, but until then, you'd better either desist from using Flash very regularly, or at least provide a textual description of the movie (you can use an tag to describe the movie).
- Frames
Frames are slowly disappearing from the Web, which is beneficial. 5 or 10 years ago they were very popular with designers but never with search engines. Search engines face difficulties indexing framed pages because of the same URL of the pages, no matter which of the separate frames is open. For search engines this was not at all favourable because actually there were 3 or 4 pages and only one URL, while for search engines one page is considered to have one URL. Of course, search engines can follow the links to the pages in the frameset and index them but this is a obstacle for them.
If you still insist on using frames, make sure that you provide a meaningful description of the site in the tag. The following example is not for beginners but even if you do not understand everything in it, just remember that the tag is the place to provide an alternative version (or at least a short description) of your site for search engines and users whose browsers do not support frames. If you decide to use the tag, maybe you'd like to read more about it before you start using it.
Example: This site is best viewed in a browser that supports frames. Welcome to our site for prospective dog adopters! Adopting a homeless dog is a most noble deed that will help save the life of the poor creature.
- JavaScript
This is another hot potato. It is well known that pure HTML is incapable of developing complex sites with a lot of functionality (anyway, HTML was not intended to be a programming languages for building Web applications, so nobody expects that you can use HTML to handle writing to a database or even for storing session information) as required by today's Web users and that is why other programming languages (like JavaScript, or PHP) were introduced to enhance the capabilities of HTML. For now search engines just ignore JavaScript they come across on a page. As a result, first if links that are inside the JavaScript code are present, it is possible that they will not be spidered. Second, if JavaScript is in the HTML file itself (rather than in an external .js file that is invoked when necessary) this clutters the html file itself and spiders might just leave it out and move to the next site. Just for your information, there is a tag that allows providing alternative to running the script in the browser but most of its applications are pretty complicated so can't be explained here.